[APM32F0] APM32F072在线升级的实现

[复制链接]
 楼主| 搬砖工小王 发表于 2022-5-7 09:34 | 显示全部楼层 |阅读模式
AD, TE, ar, pd
本帖最后由 搬砖工小王 于 2022-5-7 09:34 编辑

APM32F072在线升级的实现
虽然APM32F072有提供ISP实现程序通过Uart口进行程序烧录,只要在应用程序中跳转到0x1FFFC800即可,同样不需要改变boot脚的电位就可以完成通过Uart口进行程序升级。但是这样不便于我们按需定制的在线升级过程。所以我们还是通过自定义bootloader和app的方式来实现。

首先我们需要对bootloader和app大小进行分配。
Bootloader 4k IROM的配置如下
20220507_085128.png
APP 124k IROM的配置如下
20220507_085134.png


剩下的一些flash区域用来存储一些参数和在线升级的标志位
20220507_085144.png
Bootloader中只需要加入这部分代码,就可以实现跳转,跳转前注意要关闭所以中断即可
20220507_085949.png


为了让BootLoader能识别是否进人程序升级还是跳转到正常app运行,我通过了一个标志位FlagOnlineUpdate来进行判断,如果不为0x5AA5就进行在线升级,升级完成后改FLASH位置会变为0x5AA5。
20220507_085959.png
App如果需要进行在线升级只需要把FLAGUPDATE_ADDR处的flash的值0x5AA5擦除后,通过NVIC_SystemReset进行复位即可进入到BootLoader进行程序升级了
20220507_090007.png
App需要注意的就是需要修改中断向量表的偏移地址。不然中断触发的时候中断还会回到BootLoader中,无法正常运行app这边工程的中断函数。
20220507_090010.png
20220507_090014.png

xiaoyaodz 发表于 2022-5-16 09:56 | 显示全部楼层
可以使用云升级吗  
backlugin 发表于 2022-5-16 10:26 | 显示全部楼层
后期升级可以参考一下。  
rosemoore 发表于 2022-5-16 10:45 | 显示全部楼层
使用keil环境?
kkzz 发表于 2022-5-16 11:12 | 显示全部楼层
OAT吗   
plsbackup 发表于 2022-5-16 11:45 | 显示全部楼层
这个是多大的ram呢?  
burgessmaggie 发表于 2022-5-16 12:24 | 显示全部楼层
APM32F072性能怎么样   
updownq 发表于 2022-5-16 13:13 | 显示全部楼层
APM32F072兼容stm32哪个芯片呢?  
flampard 发表于 2022-5-16 19:13 | 显示全部楼层
updownq 发表于 2022-5-16 13:13
APM32F072兼容stm32哪个芯片呢?

兼容STM32F072
flampard 发表于 2022-5-16 19:14 | 显示全部楼层

是使用KEIL
JunKook 发表于 2022-5-16 21:22 | 显示全部楼层
请问下应用程序有没备份哇?如果升级失败呢?
liqingfeng123 发表于 2022-5-24 09:37 | 显示全部楼层
JunKook 发表于 2022-5-16 21:22
请问下应用程序有没备份哇?如果升级失败呢?

可以使用IAP来做备份,升级失败可以用原先的app.
WoodData 发表于 2022-5-25 15:47 | 显示全部楼层
看看
robincotton 发表于 2022-10-5 18:36 | 显示全部楼层
APM32F072是工业级增强型系列MCU吗?  
linfelix 发表于 2022-10-5 19:47 | 显示全部楼层
内核IAP升级的                    
tifmill 发表于 2022-11-1 10:17 | 显示全部楼层
什么叫在线升级呢?              
claretttt 发表于 2022-11-1 14:45 | 显示全部楼层
APM32可以实现网络串口下载吗
kkzz 发表于 2022-11-1 15:33 | 显示全部楼层
APM32F072有Uart口进行程序烧录
yorkbarney 发表于 2022-11-1 16:06 | 显示全部楼层
这个的代码备份是怎么实现的              
lihuami 发表于 2022-11-1 16:45 | 显示全部楼层
这个BootLoader的代码在哪能够下载?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

4

帖子

0

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