打印
[技术手册]

CW32F030 FLASH 存储器 注意事项

[复制链接]
409|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LOVEEVER|  楼主 | 2023-4-25 11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
注意事项 为正确操作 FLASH 和提高 FLASH 的访问效率及使用寿命,用户在编程应用时需要注意以下事项:
•        地址对齐要求地址边界对齐,即使用 16bit 位宽访问 FLASH 时的地址必须是偶地址,使用 32bit 位宽时的地址必须是 4 的倍数地址。
正确地址对齐的代码示例:
8bit 读取:tempdata = *( ( uint8_t * ) 0x0000 0001 ) ;
16bit 读取:tempdata = *( ( uint16_t * ) 0x0000 0002 ) ;
32bit 读取:tempdata = *( ( uint32_t * ) 0x0000 0004 ) ;
错误地址对齐的代码示例:
16bit 读取:tempdata = *( ( uint16_t * ) 0x0000 0001 ) ;
32bit 读取:tempdata = *( ( uint32_t * ) 0x0000 0003 ) ;
•        操作完成标志查询当 CPU 从 FLASH 中取指并运行时,如果执行对 FLASH 的页擦除 / 写操作,CPU 会自动停止下一条指令存取,硬件自动等待擦写操作完成(FLASH_CR1.BUSY 状态位变成 0),故用户程序不必循环查询操作完成标志来判断操作是否完成。当 CPU 从 RAM 中取指并运行时,如果执行对 FLASH 的页擦除 / 写操作,在执行该操作的同时,CPU 会进行下一条指令存取,为保证程序下一条指令的执行正确性,用户程序必须在对 FLASH 擦写操作后循环查询FLASH_CR1.BUSY 标志位,直到 FLASH_CR1.BUSY 标志位变成 0 后方可执行后续的任务。
•        使用寿命基于嵌入式 FLASH 的特性,FLASH 的操作次数和存储时间是有限的,用户在应用程序中应尽量避免频繁对某一页或某一地址的 FLASH 存储器进行擦写操作,以保证数据的可靠存储。具体寿命数据请参阅数据手册。
•        数据存储模式CW32F030 应用规定,数据在 FLASH 中以小端模式存储,即最低字节地址空间存放数据的最低有效字节数据。
•        预取和缓存配置CW32F030 的 FLASH 存储器带有预取缓存功能,可通过设置 FLASH_CR2.CACHE 为 1 和 FLASH_CR2.FETCH为 1,分别使能 FLASH 的缓存和预取功能,提高 MCU 对 FLASH 的访问效率。
•        低功耗特性FLASH 具有低功耗特性,通过设置 FLASH_CR1.STANDBY 为 1,可以让 FLASH 在系统进入深度休眠模式后自动进入低功耗状态,保证产品在低功耗模式下具有更低功率消耗。

使用特权

评论回复
沙发
flycamelaaa| | 2023-5-4 10:32 | 只看该作者
芯源FLASH操作宝典

使用特权

评论回复
板凳
Bowclad| | 2023-5-8 22:51 | 只看该作者
flash最大能做到多大啊?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

297

主题

2027

帖子

4

粉丝