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文章
3342瀏覽量
60011 -
APM
+關注
關注
1文章
74瀏覽量
13778
原文標題:APM32芯得 EP.04 | APM32F072在線升級的實現
文章出處:【微信號:geehysemi,微信公眾號:Geehy極海半導體】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
如何在CW32F030上實現IAP功能實現遠程升級?
極海APM32E030/F402系列MCU通過IEC 60730/60335功能安全認證
基于極海APM32F411 MCU移植U8g2驅動OLED指南
極海APM32F411微控制器硬件FPU使用指南
基于APM32F411 DMA_ADC Handler模式分析及解決
極海APM32F407 uc/os3學習筆記之任務管理介紹
基于APM32F407如何制作I2C EEPROM(AT24C02型號)的MDK-Keil下載算法
STM32/GD32開發板基本串口RS232\\RS485通信及CAN接口 usbhid升級 U盤升級 sd卡升級升級學習方案開發板
極海基于APM32F035的屏蔽泵參考方案
STM32F103上位機升級,RS485升級、CAN升級

APM32F072在線升級的實現
評論