1. 程式人生 > >STM32 USB IAP 經驗簡單記錄。

STM32 USB IAP 經驗簡單記錄。

1、首先到官網找一個USB IAP的例程。晶片是 STM32F10X,就找對應的例子,不同系列存在差異就不多說了。

2、確認自己bootloader的大小和功能,簡單閱讀例子裡面預設最小空間32KB,我自己規劃是64KB,0x10000.

3、USB IAP的程式都是打包好的,我只研究了一下按鍵觸發的資訊、以及APP跳轉的地址就可以直接用了。細節優化和裁剪看自己需求。

4、開啟MDK Option for Target, Target選項,我的晶片空間是256KB,供0x40000大小;給APP定義的區間是0x08010000,大小是0x30000.

      

5、如第4步所示APP的Memory Areas更改後,程式碼裡面的中斷向量表也要對應更改,我的App從64KB開始,所以#define VECT_TAB_OFFSET  0x10000

       

6、說好的USB IAP,肯定要準備好對應的升級軟體。

    

    如上圖所示,在MDK Option fro Target ,User選項打勾勾,填上指令和自己實際的檔案路徑、名稱。得到APP就可以放在U盤裡面,按照自己IAP的loader程式觸發升級了。

 

PS:因為容量較小,所以官網的IAP是初始化FAT16,所以U盤是被有容量限制,我還沒改FAT32的配置。會的較一下我配置。