- STM32CubeMx開發之路—在線升級OTA(1/4)—基礎知識
- STM32CubeMx開發之路—在線升級OTA(2/4)—BootLoader
- STM32CubeMx開發之路—在線升級OTA(3/4)—App
- STM32CubeMx開發之路—在線升級OTA(4/4)—測試
運行環境
Windows10
STM32CubeMX
Version 5.4.0
Keil5(MDK5)
Version 5.28.0.0
硬件開發板
F103RB-NUCLEO
簡介
本教程主要提供另一種升級思路, 這種方法採用Bootloader接收升級程序, 可以不需要App2區.
(文末會提供代碼,但不講解代碼)
思路
- 通過Bootloader獲取程序,這樣每個App都可以少寫很多關於OTA的代碼, 減少了出錯的概率.
- 同時因爲Bootloader出廠之後通常是不會更改的, 因此就算升級失敗, 也有補救的方法.
- 同時這樣可以不進行程序的搬運, 直接就能夠將代碼下載進App1,甚至可以不需要App2區.
- 當然也可以保留App2區, App1也可以實現下載程序到App2的功能.
先看Bootloader的框架
- 標誌位放在Bootloader的最後一頁的最後一個字節.
在看App1的框架
- 收到程序之後只需要修改標誌位再重啓就行了(如果Bootloader有自檢過程,甚至不需要修改標誌爲).
演示
只提供源碼, 不講解代碼 ! ! !
- 協議是自己定的, 上位機也是自己寫的.
- 免費提供
下位機源碼
和上位機程序
. 講解
和C#上位機源碼
就不免費提供了.
Boot源代碼
STM32F103rb_Boot_New.zipApp1源代碼
STM32F103rb_App1_New.zip上位機程序
Leaf_OTA.exe
備註:提供一下個人微信號 Hleafleafleaf,歡迎加好友,共同學習!共同進步!