• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 闪存S29AL016D在数据处理系统中的应用

闪存S29AL016D在数据处理系统中的应用

录入:edatop.com     点击:

擦除操作分为片擦除和段擦除两种。片擦除为整片擦除,段擦除只擦除指定段。为使用方便,在擦除某段数据时,应保证其他段数据不受影响。因此,软件多采用段擦除模式。其代码如下:

段擦除函数(flash基地址为0xb0000000);

void erase_flash(unsigned int sector_num)//sector为段号片擦除函数可参照编写

{

将数据保存在FLASH中后,若要对擦除后的段数据地址执行写操作,也可以通过给芯片写入编程操作时序来完成。写操作的结果是将地址总线指定地址的数据相应位1变为0,通俗的说,就是擦除后的数据各位都为1,写操作是将待写入数据的不为1的位变为0。其写操作函数如下:

进行擦除和写入操作时,应在进行写入时序操作时,对寄存器的偏移地址左移一位进行操作,这是因为8位数据工作模式下,芯片地址线的最低位为A-1,而处理器地址线的最低位为A0;若是16位数据操作模式,寻址寄存器时,则不需要进行移位操作。

此外,16位数据操作模式和8位数据操作模式在编写指令时序时也有区别,即写入寄存器的指令的位数要和数据位数相同,如8位指令为:*(int*)(Oxb0000000+(0x555<<1))=0x80,而16位指令应为:*(int*)(0xb0000000+0x555)=0x8080。

3 结束语

应用本文的设计可以成功地完成对FLASH的各种操作,实现向FLASH中保存数据的功能。事实上,各厂家生产的FLASH在性能上和使用方法都有所不同,S29AL016D除了速度快、容量大之外,还有一个特点就是可选择性地进行8位或16位数据操作。但在软硬件设计上要做些相应改变,笔者根据工作实践写出一点体会,希望能给同行提供帮助。

作者:石德锋 中国电子科技集团 来源:电子元器件应用

上一篇:VoIP技术之VoIP的原理及技术
下一篇:异步FIFO和PLL在高速雷达数据采集系统中的应用

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图