91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

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

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閃存編程參考手冊》

STM32F10xxx閃存編程參考手冊.pdf

對Flash擦除,程序如下:

對Flash編程,程序如下:

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

程序的拷貝,程序如下:

BootLoader處理UserCode和BackUp的識別

BootLoader跳轉到UserCode的程序代碼:

主函數入口:

 6、升級測試

A.正常燒錄升級流程:

下載BootLoader

在線串口升級

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

B.燒錄過程掉線測試:

升級掉線:

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

全部回復(0)
正序查看
倒序查看
現在還沒有回復呢,說說你的想法
主站蜘蛛池模板: 榕江县| 万年县| 苍溪县| 中卫市| 乐陵市| 嘉义市| 察雅县| 天等县| 永泰县| 微博| 沧源| 古田县| 清新县| 黄龙县| 九龙城区| 赣榆县| 浦城县| 商水县| 武城县| 甘孜| 绥棱县| 林口县| 乐平市| 曲松县| 镇坪县| 天台县| 南川市| 鹰潭市| 闸北区| 崇明县| 光泽县| 蚌埠市| 汤阴县| 万源市| 阳朔县| 集贤县| 万安县| 英德市| 九龙坡区| 乌拉特前旗| 德保县|