[技术问答] HC32L190 在RAM中运行的程序能否写入和擦除FLASH?

[复制链接]
 楼主| lee8871 发表于 2024-11-7 06:35 | 显示全部楼层 |阅读模式
我注意到,HC32L190的FLASH支持FLASH编程:
49614672bebc05b386.png
由数据手册可以知道,页编程的程序必须位于0到32K,HC32L190FLASH长度可达32K,
可以说编程FLASH的函数必须位于FLASH的前1/8:
23690672bec761bc9c.png
但是在后面的描述中,不止一次提到,可以从SARM执行FLASH操作:
58186672bed09a68a9.png 47848672bed25e3516.png 20881672bed414202a.png
显然,RAM的地址段在0x2000 0000以上,不符合小于32K的要求。
那么,应该如何理解FLASH操作程序的地址要求呢?在RAM中运行的程序能否写入和擦除FLASH?








wubangmi 发表于 2024-11-7 18:38 | 显示全部楼层
0~32K的操作值针对你擦和写的函数放在FLASH中执行而言,如果你把擦和写的函数放在RAM中执行,那没有0~32K的要求。
但是放在RAM里执行和在FLASH里执行对BUSY位有要求。也就是在RAM里执行需要等BUSY位,而在FLASH里可以不等BUSY位。
另外在擦写FLASH操作的时候不允许被中断打断,所以请操作前关闭总中断,操作完成后再开总中断。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

60

帖子

0

粉丝
快速回复 返回顶部 返回列表