【云隐】STM32F103C8T6实现串口IAP方式升级固件
首先下載官方STM32F10X的IAP Bootloader源碼,STM32F10x_AN2557_FW_V3.3.0。
源碼包地址:http://download.csdn.net/download/yunyin_link/10151170
用Keil4打開工程代碼STM32F10x_AN2557_FW_V3.3.0\Project\IAP\MDK-ARM\IAP.uvproj
第一步:因為我們是用的STM32F103C8T6 ?是64K Flash,所以特別重要的是修改Flash宏,如下圖示,改為:STM32F10X_MD。
代碼中對不同規格的Flash做了處理。
?
第二步:限定一下IAP BootLoader的Flash大小,如下圖示:為 0x2FFF。所以應用層代碼在 0x8003000位置。
如上則完成了我們BOOT工程的修改,可以進行編譯燒錄了,燒入后,連接我們的串口助手,會顯示如下信息:
?
如上圖,輸入1,則是進行串口程序寫入,輸入2,則是串口程序讀出,輸入3,則是執行應用層程序。
?
接下來,我們編譯一個簡單的APP測試閃燈程序,需要注意程序幾個關鍵的配置操作。
第一步:設置APP程序的寫入位置,從0x8003000開始:
第二步:在程序開始處,重新設置一下中斷向量表的位置,如下圖示:初始化到0x8003000位置。
第三步,設置編譯出BIN文件,如下圖示,添加上一段編譯指令。
E:\Software\Keil4.74\ARM\ARMCC\bin\fromelf.exe --bin -o ./output/test.bin ./output/test.axf
?
如果自己的路徑有問題的,需要自己做一下調整。以上完成了所有操作可以編譯后,會看到 test.bin文件。
?
最后,我們利用串口助手,以ymodem協議發送該bin文件,實現升級。
第一步:輸入1,進行文件發送狀態
完成后如上圖,發送“3”,檢查開發板指示燈是否閃爍,閃爍即代表成功執行了應用程序。
?
接下來,我將利用esp8266實現云端升級stm32f103c8t6固件。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【云隐】STM32F103C8T6实现串口IAP方式升级固件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求助啊,被STM32的CAN折磨的疯了
- 下一篇: STM32 CAN 过滤器、滤波屏蔽器配