当前位置: 首页 > 编程日记 > 正文

linux nor flash 读写,9.2 NorFLASH读写实验——M25PExx

>[danger] 学习本节内容前,请先检查自己手上的开发板是否具备NorFlash存储器,如不具备则可跳过本章节。

> ZigBee 标准板:具备

> ZigBee MINI板:不具备

> ZigBee 网关 & 嵌入式Linux 二合一开发板:具备

我们的开发板中带有一颗M25PE80的芯片,M25PE80是一款NorFlash,容量是8MBit也就是1MByte = 1024KB,这是个什么概念呢,CC2530F256的内部Flash容量是256KB,也就是说M25PE80的存储容量是CC2530F256容量的4倍。

###

**flash按照内部存储结构不同,分为两种:nor flash和nand flash。**

###

NorFLASH使用方便,易于连接,可以在芯片上直接运行代码,稳定性出色,传输速率高,在小容量时有很高的性价比,这使其很适合应于嵌入式系统中作为 FLASH ROM;相对于NorFLASH,NandFLASH强调更高的性能,更低的成本,更小的体积,更长的使用寿命。这使NandFLASH很擅于存储纯资料或数据等,在嵌入式系统中用来支持文件系统。Nand Flash操作是以“块”为基本单位.NAND闪存的块比较小,一般是8KB,然后每块又分成页,页大小一般是512字节.要修改NandFlash芯片中一个字节,必须重写整个数据块,读和写都是按照扇区进行的。

###

在通信方式上Nor Flash 分为两种类型:CFI Flash和 SPI Flash。我们使用的M25PE80属于SPI NorFlash的一种,支持任意地址的数据读取以及写入。

###

M25PE80实物图:

![](https://img.kancloud.cn/61/51/6151c23deb2673139fb03bd6baa0af7e_218x280.png =200x)

###

M25PE80引脚图:

![](https://img.kancloud.cn/a6/a9/a6a94f42c0585c926fbd8f3e1616da6e_274x186.png =200x)

###

M25PE80的通信协议是SPI,前面我们学习显示器的实验时,就使用了通用的SPI驱动进行适配;同样的道理M25PE80驱动也只需要使用通用SPI驱动程序适配出符合的程序即可:

![](https://img.kancloud.cn/5c/c9/5cc9a44a4c2e185a935d497c0b3a4dab_406x526.png =300x)

###

SPI通用驱动我们这里就不做介绍了,适配SPI程序和屏幕的适配方式是一样的,我们可以配置相应的引脚:

![](https://img.kancloud.cn/3a/92/3a921240153ad49b8db89e6d22d6dd43_832x474.png =600x)

###

最终适配出的接口有如下几个:

**1\. 片选**

![](https://img.kancloud.cn/c1/d7/c1d7ae34bd216732bd7ea406e863dba7_832x306.png =600x)

###

**2.初始化**

![](https://img.kancloud.cn/16/f9/16f985b95b9c6d12118c46fceb7f2807_354x180.png =300x)

###

**3.发送一个字节**

![](https://img.kancloud.cn/5a/60/5a60a37021dcb401faeb2f7e923e9a6c_424x258.png =300x)

###

**4.接收一个字节**

![](https://img.kancloud.cn/3f/15/3f1527806d24be51b2807dadc74b3eb1_422x258.png =300x)

###

比较重要的API是M25PE80的驱动程序:文件hal\_m25pexx.h/c,我们提供了3个接口给大家使用,这几个接口除了学习用之外,都是可以直接应用到商业化产品的开发中的,所以如果您正在开发产品,可以免去很多开发的时间。

**1.初始化**

![](https://img.kancloud.cn/e9/c2/e9c2f1de5be7bfc3b0c1e7f582672777_418x216.png =300x)

###

**2.读取Flash数据**

![](https://img.kancloud.cn/f9/f8/f9f8b4cea7ed51774c98239e8940968f_708x310.png =500x)

###

**3.写数据到Flash中**

![](https://img.kancloud.cn/1e/5c/1e5cb314f97ce16ed743c12fd8630b92_716x286.png =500x)

###

接口实现原理可以参考M25PE80的数据手册,目录在:

...\\附加资料\\资料\\M25PE80数据手册

(联系我们取得资料)

###

## \*\* **程序分析**

主函数首先初始化系统时钟为32MHZ,然后初始化串口0和M25PE80

![](https://img.kancloud.cn/13/63/1363cf3a537f0639986f2e17749a32cb_580x310.png =500x)

###

主函数进入到While(1)的循环中, 将writeVal写入FLASH中,然后重新读取到readVal,通过串口输出,如果writeVal和readVal相等表示写入成功:

![](https://img.kancloud.cn/4e/d4/4ed4dfa60699e95971810d614debad42_766x780.png =600x)

###

### \*\* **调试仿真**

将程序烧录到开发板中,断开仿真器连接,用串口线连接开发板到电脑,打开串口助手,可以看到写入和读取的过程:

![](https://img.kancloud.cn/74/94/7494aff79da543dc4974c6129bb33307_830x654.png =600x)

相关文章:

sql server分布式事务解决方案[新事务不能登记到指定的事务处理器中错误]

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> 适用环境 操作系统&#xff1a;windows 2003&#xff0c;xp 数据库&#xff1a;sql server 2000/sql server 2005 使用链接服务器进行远程数据库访问的情况 一、 问题现象 在执行分布…

微软“叛变”谷歌 Chromium!

去年&#xff0c;微软工程师在公开演示 Azure 服务时&#xff0c;微软 Edge 浏览器频频崩溃&#xff0c;逼得他只能在众目睽睽的尴尬局面下&#xff0c;使用 Edge 下载 Chrome 浏览器来继续他的演示。一年之后的今天&#xff0c;Edge 就抱上了 Chrome 的大腿。图片来源&#xf…

vCenter Server Appliance 6.5 中重置丢失或忘记的 root 密码

vCenter Server Appliance 6.5 中重置丢失或忘记的 root 密码 目前安装vCenter Server Appliance 6.5客户原来越多&#xff0c;给用户配置过程中&#xff0c;往往会忽略默认的root 密码策略&#xff1a;60天过期。一旦密码过期或忘记密码&#xff0c;vcsa的管理控制台就无法通过…

linux 查看剪贴板历史,Clipboard History Manager插件,查看浏览器剪贴板历史记录

Clipboard History Manager插件&#xff0c;是一款浏览器剪贴板历史记录管理工具&#xff0c;通过它可以快速查看最多1000个本机上的剪贴数据&#xff0c;适用于Mac和Windows操作系统。A full-featured desktop clipboard manager for Mac, Windows and Linux to track what yo…

ORACLE执行计划的一些基本概念

本文介绍了ORACLE执行计划的一些基本概念&#xff0c;供学习应用。 一&#xff0e;相关的概念 Rowid的概念&#xff1a;rowid是一个伪列&#xff0c;既然是伪列&#xff0c;那么这个列就不是用户定义&#xff0c;而是系统自己给加上的。对每个表都有一个rowid的伪列&#xff0c…

公开课报名 | 那些年,我们在文本分类中遇到的坑

文本分类问题是企业在 NLP 领域中处理文本数据时经常会遇到的一个问题&#xff0c;很多时候&#xff0c;我们需要将文本信息进行分类&#xff0c;或提相关的接口以供外部进行文本上传&#xff0c;在针对于用户所上传的文档信息就需要进行文档内容的分类&#xff0c;那么针对于这…

Cisco网院成立10周年-未来三年在蓉增50所

2008年9月18日—— 今天&#xff0c;主题为“十年创新&#xff0c;传承未来”的Cisco中国网络技术学院十周年庆典在四川成都举行。会上&#xff0c;Cisco宣布将与四川省政府和教育部进一步加强合作&#xff0c;在四川新建立50所Cisco网络技术学院&#xff0c;以实现该项目在四川…

荣耀预装linux安装包,关于华为机子没有预装应用商店讨论

在荣耀笔记本(Linux版)中拥有深度应用商店&#xff0c;几步就搞定啦&#xff01;在荣耀笔记本(Linux版)中拥有深度应用商店&#xff0c;几步就搞定啦&#xff01;深度操作系统 今天随着预装深度操作系统(deepin)的荣耀笔记本(Linux版)的开卖(未来可期&#xff01;荣耀Magicbook…

如何自学CS?

整理 | 非主流出品 | AI科技大本营哪个行业的平均工资最高&#xff1f;计算机。国家统计局的数据显示&#xff0c;2016 年信息传输、软件和信息技术服务业年平均工资为 122478 元&#xff0c;首超金融行业&#xff0c;并于 2017 年再次夺魁。在互联网和人工智能浪潮的推动下&am…

oracle 使用nfs挂载的目录不能进行归档

oracle 使用nfs挂载的目录不能进行归档 在做实验时将oracle的归档目录放在nfs服务器上&#xff0c;启动数据库就会死掉&#xff0c;也不能进行归档。在报警日志中发现WARNING:NFS file system /mnt mounted with incorrect options WARNING:Expected NFS mount options: rs…

生产中NFS案例记录---写入权限解决过程

生产中NFS案例记录---写入权限解决过程NFS配置要求&#xff1a;1、 将oracle文件写入到NFS Server端&#xff0c;注意权限要与oracle端一致。2、 Oracle端目录文件所属用户为oracle&#xff0c;uid&#xff1a;500 gid 501。格式约定&#xff1a;命令显示过程 文字说明特别注意…

吴文俊人工智能科学技术奖:陆汝钤院士、百度王海峰等获奖

12月9日上午&#xff0c;被誉为“中国智能科学技术最高奖”的吴文俊人工智能科学技术奖在苏州举行颁奖典礼。本届吴文俊人工智能奖共对70项人工智能成果授奖。其中&#xff0c;中国科学院院士、中国科学院数学与系统科学研究院研究员陆汝钤成为首位吴文俊人工智能最高成就奖获得…

河南科技大学c语言章节作业答案,河南科技大学C语言试题

c语言试题,基本上是题库。上机作业用的。大家好好把握。C程序的运行环境和简单C源程序的调试&#xff0c;实验报告(共 题)&#xff0c;用时(127分33秒)&#xff0c;成绩(A)1、 有如下程序&#xff1a; #include"stdio.h" main( ) { int a8;printf("%d,%5d,%-5d#…

qinyu.blog.51cto.com里的好文章,比尔盖茨

世纪枭雄比尔盖茨的王者传奇儿时&#xff0c;他便躁动不安&#xff0c;顶着梳不顺的头发&#xff0c;在竞技中缕缕获胜。少年英才没有机会慢慢成长&#xff0c;21岁&#xff0c;他创办了微软&#xff0c;从此走上IT业的颠峰之路&#xff0c;垄断了13年的财富榜首&#xff1b;32…

Clean-Code: 注释

别给糟糕的代码加注释-----------------重新写吧 这是书中的关于注释一章的第一句话&#xff0c;怎么说呢&#xff0c;这句话个人感觉很对&#xff0c;但是实际上却很少这么做&#xff0c; 有几个原因&#xff1a; 糟糕的代码不是自己写的&#xff0c;别人写的代码&#xff0…

在c语言中,函数中的自动变量可以赋初值,每调用一次,赋一次初值,计算机二级考试 程序设计基础试题及答案三...

《程序设计基础》考试试卷三1. 判断下面标识符中哪个是C语言中合法的用户定义标识符&#xff1a;A. a-bB. #abdC. typedefD. _max2. …b?在内存中占个字节&#xff0c;“B”在内存中占个字节。A. 1B. 2C. 3D. 43. 下列表达式的值哪些不等于0&#xff1f;A. 2>>1B. ~a&am…

免费报名 | WPS专家教你文本分类在企业中的应用实践

文本分类问题是企业在 NLP 领域中处理文本数据时经常会遇到的一个问题&#xff0c;很多时候&#xff0c;我们需要将文本信息进行分类&#xff0c;或提相关的接口以供外部进行文本上传&#xff0c;在针对于用户所上传的文档信息就需要进行文档内容的分类&#xff0c;那么针对于这…

[ZT]如何取得客户端的Windows登录用户名?

1. 在ASP.NET中专用属性&#xff1a; 获取服务器电脑名&#xff1a;Page.Server.ManchineName 获取用户信息&#xff1a;this.User.Identity.Name (IIS安全設置必須使用集成Windows驗證) 获取客户端电脑名&#xff1a;Page.Request.UserHostName 获取客户端电脑IP…

C#使用WIN32API来高效率的遍历文件和目录(转)

我们有时需要遍历某个目录下的文件和子目录&#xff0c;可以使用System.IO.DirectoryInfo.GetDirectories或 GetFiles来获得目录下的所有的文件和子目录&#xff0c;当这个目录下的内容比较多时&#xff0c;这个操作就比较耗时间&#xff0c;有时我们仅仅需要知道某个目录下是否…

c语言1变A,c语言那些细节之a+1和a+1的区别

首先a是一个数组名&#xff0c;当看到这个a与&a时&#xff0c;一般我们的理解都是这个数组的首地址。没错&#xff0c;如果加上打印的话&#xff0c;确实两个值是一样的。不过&a是整个数组的首地址&#xff0c;a则是数组首元素的地址&#xff0c;虽然值一样&#xff0c…

【收藏清单】AI学习资料汇总——你想要的AI资源,这里都有

本文汇总了TinyMind站内AI资料类热门文章TOP10&#xff0c;欢迎大家各取所需。来源&#xff1a;https://www.tinymind.cn/ 1、【AI入门者必看】——人工智能技术人才成长路线图 入门AI的两大方式与进阶AI的十大路线&#xff0c;吐血之作&#xff0c;人手必备。路线图可在文末…

25,000,000行的代码就问你敢不敢动?!

你经历过绝望吗&#xff1f;近日&#xff0c;Hacker News 上发起了一个名为“你见过最糟糕的代码是什么&#xff1f;”&#xff08;https://news.ycombinator.com/item?id18442637&#xff09;的话题&#xff0c;引发了无数网友回忆讨论&#xff0c;甚至还再次让软件巨头 Orac…

c语言规定预处理命令必须以什么开头,C语言规定预处理命令必须以___________开头...

在定温定容下&#xff0c;语言规开反应NH4Cl (s) NH3 (g) HCl (g)达平衡&#xff0c;加入惰性气体平衡不移动05580041&#xff1a;定预若a、b均为int型变量,且a100,则for (b100;a!b;a,b) printf(----\n)是死循环。()处理05710012&#xff1a;以下正确的描述是( )。命令成年早期…

MySQL 微秒慢查询补丁

作/译者&#xff1a;叶金荣&#xff08;Email: &#xff09;&#xff0c;来源&#xff1a;http://imysql.cn&#xff0c;转载请注明作/译者和出处&#xff0c;并且不能用于商业用途&#xff0c;违者必究。原文出自&#xff1a;The new cool MySQL patch has landed! Check your…

Win10 15063 开始运行不保存历史记录原因和解决方法

在Win10 1703的时候你也许会发现开始运行以后&#xff0c;再次打开就没有任何历史记录了&#xff0c;常规方法是桌面-右键-个性化-开始-显示最常用的应用..可是打开是灰色的不可选.. 其实这个问题很好解决&#xff0c;在win10 15063隐私里面有一个设置的原因&#xff0c;请跟随…

CCNA培训课总结笔记--交换机的基本配置(十三)

实验目的:熟悉交换机的基本配置,学会在交换机上划分VLAN及如何将接口划分到指定的VLAN.本实验主要是用模拟器DynamipsGUI及3640的IOS文件做的实验,所以配置的命令有些会有出入.实验设备:3640交换机系列实验内容:其实交换机的基本操作包括设置特权登陆密码,设置控制台的密码等都…

TensorFlow 2.0发布在即,高级API变化抢先看

作者 | Sandeep Gupta, Josh Gordon, and Karmel Allison整理 | 非主流、Jane出品 | AI科技大本营【导语】早在今年 8 月的时候&#xff0c;谷歌开源战略师 Edd Wilder-James 在一封公开邮件中表示正在研发 TensorFlow 2.0&#xff0c;并将于今年晚些时候发布预览版。在 2018 年…

mp4 android自动播放,Android 使用VideoView播放MP4的简单实现

使用VideoView播放MP4播放示例实现简单的播放功能&#xff0c;播放手机本地的MP4文件。不依赖任何第三方框架&#xff0c;不添加任何防腐剂。添加一个系统自带的控制条。申请权限读取存储中的MP4文件准备布局文件在frag_video_view.xml中放置VideoView&#xff1b;为了让内容居…

Sublime-text theme 颜色主题

主题文件下载&#xff1a;Monokai.rar 替换办法&#xff1a; Preferences -> Browser packages -> Color Scheme - DefalutPreferences -> Browser packages -> Color Scheme - Defalut 覆盖 文件物理位置(win7)&#xff1a; C:\Users\用户名\AppData\Roaming\S…

android 自定义radiobutton 样式,RadioButton自定义点击时的背景颜色

一、应用场景&#xff1a;在使用 RadioButton 时&#xff0c;有时我们会需要自定义点击时改变背景颜色的效果。效果图&#xff1a;RadioButton自定义背景颜色.jpg二、实现步骤&#xff1a;1、新建一组 RadioButton &#xff1a;android:layout_width"match_parent"an…