STM32CubeMx開發之路—在線升級OTA—(另一種思路)


運行環境

  • Windows10
  • STM32CubeMX Version 5.4.0
  • Keil5(MDK5) Version 5.28.0.0
  • 硬件開發板 F103RB-NUCLEO

簡介

  • 之前的教程很多人反饋說, 比較麻煩, Ymodem協議不懂, Xshell也沒用過.
  • 根據反饋於是重新設計了一種全新的更簡單升級思路, 並且自己寫了上位機.
  • 本教程採用Bootloader接收升級程序, 甚至可以不需要App2區.
  • (文末會提供代碼和簡單的協議,但不講解代碼)

思路

  • 通過Bootloader獲取程序,這樣每個App都可以少寫很多關於OTA的代碼, 減少了出錯的概率.
  • 同時因爲Bootloader出廠之後通常是不會更改的, 因此就算升級失敗, 也有補救的方法.
  • 同時這樣可以不進行程序的搬運, 直接就能夠將代碼下載進App1,甚至可以不需要App2區.
  • 當然也可以保留App2區, App1也可以實現下載程序到App2的功能.

先看Bootloader的框架

  • 標誌位放在Bootloader的最後一頁的最後一個字節.

在看App1的框架

  • 收到程序之後只需要修改標誌位再重啓就行了(如果Bootloader有自檢過程,甚至不需要修改標誌爲).

演示


提供源碼, 不講解代碼 ! ! !

  • 協議是自己定的, 上位機也是自己寫的.
  • 免費提供所有源碼和協議.

備註:提供一下個人微信號 Hleafleafleaf,歡迎加好友,共同學習!共同進步!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章