這是我上個月研究的STM32的IAP問題,用了兩個星期的時間,一開始研究的是沒有加協議的版本,后來加入了YMODEM協議,這種可以在實際應用中作為STM32的boot用,用來初始化一些硬件與升級程序,比較有實用性。開發工具是IAR,如果有不理解的,可與我交流學習。
單片機源程序如下:
- #include "delay.h"
- #include "IAP.h"
- #include "Download.h"
- #include "Upload.h"
- #include "YModem.h"
- int main(void)
- {
- KeyInit();//初始化按鍵
- if(!GetKey ())//按鍵按下,進入升級界面
- {
- set:
- IAP_Init();//初始化串口
- shw:
- IAP_ShowMenu();//顯示功能菜單
- IAP_WiatForChoose(); //等待選擇界面
- goto shw;//重新顯示界面
- }
- else
- {
- IAP_JumpToApplication();//跳轉到升級出代碼執行
- goto set;//沒有升級程序或者升級程序錯誤才會執行到這句,然后天轉到升級界面
- }
- }
復制代碼
所有資料51hei提供下載:
IAP YMODEM.zip
(6.23 MB, 下載次數: 36)
2018-1-29 08:50 上傳
點擊文件名下載附件
|