[技术问答] MCU Flash 操作

[复制链接]
676|1
 楼主| eefas 发表于 2025-6-22 07:27 | 显示全部楼层 |阅读模式
在实际开发中,我们都会碰到需要把部分数据存放在不易失存储空间上,比如外部NOR FLASH、EEPROM、SD等存储空间上,针对数据量不大的情况下,可以考虑将数据存放在芯片ROM存储空间。Nuvoton 32bit MCU ROM存储空间包括LDROMAPROM、SPROM、DATAFLASH等区域。本章主要介绍Nuvoton 32bit MCU针对芯片ROM空间Flash读写操作。
一、存储空间的地址范围
如下截图摘自M031 Datesheet,可以清楚的看出Flash各区域存储空间的地址范围,方便后续进行指定地址读写操作。

二、存储空间的ISP命令操作
ISP命令里面我们可以清楚看出几点:
1、Flash擦除只能页操作,根据不同规格型号单页大小有512Byte和2048Byte两个类别,需要对应型号去查下。
2、Flash 写数据大小操作支持32bit、64bit、多字等方式,不支持8bit。
3、Flash 读数据大小支持32bit、64bit两种方式。

三、程序操作
1、静态地址存放数据
通过ICP工具读取数据进行验证,写入成功。
有一点需要注意下:
从程序执行效果来看,写操作是最小单位32bit,我们的数据只有两个字节,所以被00补齐了。
2、动态地址存放数据

通过ICP工具读取数据进行验证,写入成功。


神明祷告 发表于 2025-7-4 13:21 | 显示全部楼层
在设计 Nuvoton 32 位 MCU 的 Flash 读写操作时,还需注意:
读写保护:启用硬件写保护(如 WP 引脚),防止意外擦除。
寿命管理:Flash 擦写寿命约 10 万次,需实现磨损均衡(Wear Leveling)算法。
原子操作:确保断电时数据完整性,可采用双缓冲区设计。
性能优化:利用芯片内置 Flash 加速器(如 M480 系列的 FMC)提升读写速度。
安全启动:通过 ROM 中的 TrustZone 实现固件完整性校验,防止未授权访问。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

98

主题

3154

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部