最新电影在线观看,jrs低调看直播,avav天堂,囯产精品宾馆在线精品酒店,亚洲精品成人区在线观看

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發新帖

STM32F103VE_在線升級系統設計

為了解決數字產品在升級程序時需要反復帶電插拔燒錄器,參考了網上很多BootLoader的程序例程,通過這個帖子記錄自己一步一步搭建BootLoader升級框架。設計構思如下(控制芯片用的是STM32F103VE):

1、對flash劃分為三個區域:

2、Flash運行流程如下:

3、程序設計思路解釋:Flash區域劃分為BootLoader、UserCode、BackUp三個區域;通過燒錄器下載BootLoader程序后,即可通過串口通信升級程序;在對UserCode程序升級完成后,會在UserCode_Verfy的地址上寫上標識碼代表已經有用戶程序,同時把用戶程序拷貝到BackUp區域;如此大費周章的設計BackUp備份區是非常有必要的,在升級UserCode區域代碼的時候,如果出現掉線,由于升級前會把UserCode的所有程序全部擦除才能進行升級,這時候就出現了UserCode的程序不完整無法運行,機器就會變成磚頭;增加了BackUp區域之后,BootLoader程序對UserCode_Verfy區域進行5次識別后,就會對BackUp_Verfy區域進行識別,識別到有備份程序后,就會主動將備份程序拷貝回UserCode區域,從而實現了即使在升級過程出現異常,機器仍然能退回上一次存儲的程序運行。

4、編程準備:

芯片型號

內存地址分布

通過資料查詢,可以了解到STM32F103VE是一款100腳內存512K的芯片;

考慮到我們的程序存儲量不會太大,對Flash劃分如下:

5、通過學習《STM32F10xxx閃存編程參考手冊》

對Flash擦除,程序如下:

對Flash編程,程序如下:

標識碼的寫入,程序如下:

程序的拷貝,程序如下:

BootLoader處理UserCode和BackUp的識別

BootLoader跳轉到UserCode的程序代碼:

主函數入口:

 6、升級測試

A.正常燒錄升級流程:

下載BootLoader

在線串口升級

Loader程序正常跳轉到用戶程序

B.燒錄過程掉線測試:

升級掉線:

備份區程序拷貝,重新運行

全部回復(0)
正序查看
倒序查看
現在還沒有回復呢,說說你的想法