这是我上个月研究的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)
|