打印
[其他]

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

[复制链接]
725|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

hc32l17x_app - 0x10000.rar

1.6 MB

hc32l17x_boot.rar

864.3 KB

使用特权

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

本版积分规则

2

主题

4

帖子

0

粉丝