[其他] HC32L17x在OTA升级时,APP区域超过32K,Flash擦写需要放在RAM中执行方法

[复制链接]
 楼主| Z114863 发表于 2024-11-13 20:34 | 显示全部楼层 |阅读模式
由于Flash擦除和写入函数,需要在Flash地址的0~32 K之内,不能超出,或者运行于ram内,否则执行擦、写操作的时候会出错。

当OTA升级时,APP超出32K,需要将Flash擦写放在RAM中运行。

附件工程同时把boot和app1(0x1000)、app2(0x1000)都下载到Flash中,boot通过0x1F000地址的值判断跳转哪个APP。当APP1接收到以0x12、0x34开始的1000个数据后,会把数据写入到APP2中的0x16000地址中,0x1F000地址写入标志位,然后复位,Boot跳转到APP2;当APP2接收到以0x21、0x34开始的1000个数据后,会把数据写入到APP1中的0x6000地址中,擦除0x1F000地址的数据,然后复位,Boot跳转到APP1。

hc32l17x_app - 0x1000.rar

1.6 MB, 下载次数: 15

hc32l17x_app - 0x10000.rar

1.6 MB, 下载次数: 26

hc32l17x_boot.rar

864.3 KB, 下载次数: 29

4c1l 发表于 2025-1-31 11:39 | 显示全部楼层
新年好呀,新年好呀。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

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