了解硬件和更多资料可点击:点击了解
新建一个物联网行业交流学习QQ群,感兴趣可加:928840648
=====CUT=====
开发板中带有一颗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的通信协议是SPI,前面我们学习显示器的实验时,就使用了通用的SPI驱动进行适配;同样的道理M25PE80驱动也只需要使用通用SPI驱动程序适配出符合的程序即可:
SPI通用驱动我们这里就不做介绍了,适配SPI程序和屏幕的适配方式是一样的,我们可以配置相应的引脚:
最终适配出的接口有如下几个:
片选
初始化
发送一个字节
接收一个字节
比较重要的API是M25PE80的驱动程序:文件hal_m25pexx.h/c,我们提供了3个接口给大家使用,这几个接口除了学习用之外,都是可以直接应用到商业化产品的开发中的,所以如果您正在开发产品,可以免去很多开发的时间。
初始化
读取Flash数据
写数据到Flash中
接口实现原理可以参考M25PE80的数据手册,目录在: ...\附加资料\资料\M25PE80数据手册
** 程序分析
主函数首先初始化系统时钟为32MHZ,然后初始化串口0和M25PE80
主函数进入到While(1)的循环中, 将writeVal写入FLASH中,然后重新读取到readVal,通过串口输出,如果writeVal和readVal相等表示写入成功:
** 调试仿真
将程序烧录到开发板中,断开仿真器连接,用串口线连接开发板到电脑,打开串口助手,可以看到写入和读取的过程:
了解硬件和更多资料可点击:点击了解
新建一个物联网行业交流学习QQ群,感兴趣可加:928840648