实例分析MCU的Data Flash访问控制.doc

实例分析MCU的Data Flash访问控制.doc

ID:27903195

大小:74.00 KB

页数:4页

时间:2018-12-06

实例分析MCU的Data Flash访问控制.doc_第1页
实例分析MCU的Data Flash访问控制.doc_第2页
实例分析MCU的Data Flash访问控制.doc_第3页
实例分析MCU的Data Flash访问控制.doc_第4页
资源描述:

《实例分析MCU的Data Flash访问控制.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实例分析MCU的DataFlash访问控制  笔者在家用火灾报警系统项目的开发过程中,在进行主从机通讯和从机自身任务处理时,需要经常与从机MCU进行运行数据的存取。过去传统的方法是在MCU上外挂EEPROM或将MCU内部的部分存储单元专门划分出来,以存取运行数据。这两种方法的不利之处是:外挂EEPROM需要增加MCU与EEPROM的读写接口,增加了MCU的管脚负担,减慢了数据的读写速度的同时还增加了功耗;专门为运行数据划分存储单元则减少了程序代码的存储空间,同时存储空间的读写、擦除等操作会比较麻

2、烦,另外还要非常小心,以防擦掉了有用的程序代码。  瑞萨RL78系列MCU内嵌2KB的DATAFLASH,省去了用户单独外扩数据FLASH的麻烦。RL78系列MCU还支持BGO操作,程序指令在DATAFLASH读写时仍可正常执行。其对DATAFLASH存储单元的写操作寿命高达1百万次以上,非常适合于需要频繁存取数据的应用场合。  与有些半导体厂商的控制芯片不同,瑞萨并没有直接将DATAFLASH的读写操作完全开放给用户,而是提供了一套叫做PFDL(PicoDataFlashLibrary,即微型

3、数据闪存访问库)的软件接口,来实现对闪存系统的操作。用户使用时只需要调用相应的库函数即可进行DATAFLASH的读写、校验、擦除等操作,而不必关心底层驱动函数的具体实现方式。这在很大程度上方便了用户程序的设计,缩短了开发周期。    1)DATAFLASH结构和PFDL  RL78的存储结如图1所示。其中DataFlashmemory物理地址为F1000H-F17FFH,被分成了两个BLOCK区,每个BLOCK区1KB,共2KB。    图1:瑞萨RL78系列MCU的存储结构  PFDL由表1所

4、示的库文件组成。    表1:PFDL库文件    2)DataFlash的存储结构和使用方法  首先有必要将RL78系列MCU关于DATAFLASH操作的几个问题进行说明。RL78系列DATAFLASH的擦除操作只能以BLOCK为单位,不支持单字或单字节擦除。所以当有一项长度为若干字节的数据要写入DATAFLASH时,不可能将数据每次都写入固定的物理地址所对应的存储单元中,而是必须在新的空存储单元中写入。这就意味着用户在设计DATAFLASH的存储结构时,必须有寻址功能。  RL78系列DAT

5、AFLASH同一时刻只能有1个BLOCK处于激活状态,是有效的,此时另一个BLOCK不可访问,是无效的。习惯上,我们常将DATAFLASH的一个BLOCK称为一页,当一个有效页被写满数据时,要想继续写入数据的话,则只能在下一页中写入,同时还需要将前一页中有用的其他数据项拷贝到下一页中,并将下一页标记为当前的有效页,将上一页标记为无效页,即必须有DATAFLASH的页标记和导页机制。  为此,笔者将整个DATAFLASH分成两页(每个BLOCK自然形成一页,两页交替使用),每页的起始地址作为页标记

6、单元,见表2。每次进行DATAFLASH操作前应先读取该标记单元来确认当前有效页。  表2:页标记

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。