打印
[技术问答]

HC32L190 在RAM中运行的程序能否写入和擦除FLASH?

[复制链接]
875|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lee8871|  楼主 | 2024-11-7 06:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我注意到,HC32L190的FLASH支持FLASH编程:

由数据手册可以知道,页编程的程序必须位于0到32K,HC32L190FLASH长度可达32K,
可以说编程FLASH的函数必须位于FLASH的前1/8:

但是在后面的描述中,不止一次提到,可以从SARM执行FLASH操作:

显然,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操作的时候不允许被中断打断,所以请操作前关闭总中断,操作完成后再开总中断。

使用特权

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

本版积分规则

9

主题

36

帖子

0

粉丝