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

APP 124k IROM的配置如下

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

为了让BootLoader能识别是否进人程序升级还是跳转到正常app运行,我通过了一个标志位FlagOnlineUpdate来进行判断,如果不为0x5AA5就进行在线升级,升级完成后改FLASH位置会变为0x5AA5。

App如果需要进行在线升级只需要把FLAGUPDATE_ADDR处的flash的值0x5AA5擦除后,通过NVIC_SystemReset进行复位即可进入到BootLoader进行程序升级了

App需要注意的就是需要修改中断向量表的偏移地址。不然中断触发的时候中断还会回到BootLoader中,无法正常运行app这边工程的中断函数。


审核编辑 :李倩
-
应用程序
+关注
关注
38文章
3346浏览量
60422 -
APM
+关注
关注
1文章
74浏览量
13975
原文标题:APM32芯得 EP.04 | APM32F072在线升级的实现
文章出处:【微信号:geehysemi,微信公众号:Geehy极海半导体】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
探索STM32L072xx:超低功耗32位MCU的卓越之选
基于极海APM32F4的Azure RTOS ThreadX移植过程分享
探索 onsemi FCH072N60F:高性能 N 沟道 MOSFET 的卓越之选
极海APM32F427如何实现自定义USB HID设备与PC进行通信
深入解析FCH072N60F:高性能N沟道MOSFET的卓越之选
极海APM32F427移植CherryUSB实现自定义USB HID设备
使用极海APM32F427驱动QSPI XIP内存映射流程
极海APM32E030/F402系列MCU通过IEC 60730/60335功能安全认证
极海APM32F411微控制器硬件FPU使用指南
基于APM32F411 DMA_ADC Handler模式分析及解决
极海APM32F407 uc/os3学习笔记之任务管理介绍
APM32F072在线升级的实现
评论