导言
本教程使用正点原子战舰板开发。
《STM32F103_Bootloader程序开发11 - 实现 App 安全跳转至 Bootloader》上一章节实现App跳转bootloader,接着,跳转到bootloader后,下位机要发送报文‘C’给IAP上位机,表示我准备好接收固件数据。
项目地址:
- Gitee (国内推荐): https://gitee.com/wallace89/MCU_Develop/tree/main/bootloader11_stm32f103_app_jump_boot
- GitHub: https://github.com/q164129345/MCU_Develop/tree/main/bootloader11_stm32f103_app_jump_boot
一、代码
1.1、main.c
二、测试IAP升级全流程
2.1、正常IAP流程
如上图所示,在iap_py文件夹下使用指令python3 main.py --port COM8 --baud 115200 --file .\firmware\App_crc.bin --auto-jump
启动IAP升级全流程。最后,IAP升级完毕,顺利跳转App程序运行。
2.2、异常IAP流程
如上所示,在IAP升级中途,我强制退出IAP程序。接着,bootloader在通讯倒计时结束后,跳转回之前的App程序。控制板并没有变成“砖头”,等待下一次的IAP升级请求!