在应用编程MAXQ微控制器中可分区擦除的程序和数据闪存
[09-13 17:04:32] 来源:http://www.88dzw.com 控制技术 阅读:8553次
文章摘要:表3. 块交换存储器配置实例 Flash SectorsSector NumberData Flash Address00xF000-0xF3FF10xE000-0xE3FF图2. 块交换流程 同时采用有界队列和块交换管理数据闪存的最可靠、最灵活的办法是同时采用有界队列和块交换技术。当需要将少量的数据周期性存入闪存,并要保持数据完整性的时候,结合使用这两种技术将非常有利。表4给出了一个包含两个2K x 16分区,每个分区被划分为32个相等条目的实例。图3示例数据在两个分区之间、有界排队内的流向。 这种组合方法的程序比有界队列方法稍微复杂一些。附录A给出了一个简单的C源代码实例。 表4. 块交换
在应用编程MAXQ微控制器中可分区擦除的程序和数据闪存,标签:计算机控制技术,工厂电气控制技术,http://www.88dzw.com表3. 块交换存储器配置实例
Flash Sectors | |
Sector Number | Data Flash Address |
0 | 0xF000-0xF3FF |
1 | 0xE000-0xE3FF |
图2. 块交换流程
同时采用有界队列和块交换
管理数据闪存的最可靠、最灵活的办法是同时采用有界队列和块交换技术。当需要将少量的数据周期性存入闪存,并要保持数据完整性的时候,结合使用这两种技术将非常有利。表4给出了一个包含两个2K x 16分区,每个分区被划分为32个相等条目的实例。图3示例数据在两个分区之间、有界排队内的流向。
这种组合方法的程序比有界队列方法稍微复杂一些。附录A给出了一个简单的C源代码实例。
表4. 块交换和有界队列存储器配置实例
|
|
图3. 有界队列和块交换流程
应用ROM闪存例程
MAXQ微控制器具有片内闪存支持程序,驻留在ROM (只读内存)中,用来对闪存进行编程、擦写和校验。有两种方法来调用这些例程。第一种也是最快的方法是直接访问,只需通过以下代码提供一个头文件:
u16 flashEraseSector(void *); u16 flashEraseAll(void); u16 flashWrite(u16 *pAddress, u16 iData);然后,加入链接定义给每个例程分配合适的地址。对于IAR链接文件,加入下面几行语句:
-DflashEraseSector=0x8XXX -DflashEraseAll=0x8XXX -DflashWrite=0x8XXX具体使用时,用每个例程相应的存储器地址替代0x8XXX。其他编译器可能使用不同的方法添加这些声明。
注意,直接访问方法与未来的ROM版本无法前向兼容。
第二种为查表法。尽管这种方法兼容性较好,但是执行时间较长。在下面每一段例程说明的后面,汇编例程采用查表法获取ROM应用例程的地址。表5所示为应用ROM提供的几个闪存例程。关于ROM应用例程的完整列表,参见特定MAXQ器件的用户指南。
Tag:控制技术,计算机控制技术,工厂电气控制技术,控制技术
《在应用编程MAXQ微控制器中可分区擦除的程序和数据闪存》相关文章
- › 在应用编程MAXQ微控制器中可分区擦除的程序和数据闪存
- 在百度中搜索相关文章:在应用编程MAXQ微控制器中可分区擦除的程序和数据闪存
- 在谷歌中搜索相关文章:在应用编程MAXQ微控制器中可分区擦除的程序和数据闪存
- 在soso中搜索相关文章:在应用编程MAXQ微控制器中可分区擦除的程序和数据闪存
- 在搜狗中搜索相关文章:在应用编程MAXQ微控制器中可分区擦除的程序和数据闪存
分类导航
最新更新