为了解决产品量产时工厂端批量烧录程序的问题,也为了防止出错,特地编写批处理脚本方便烧录程序,工人只需要点击运行批处理文件再结合Bootloader就能完成产品出厂程序的烧录工作;
项目情况:MCU型号STM32F469x,带片外QSPI Flash用来存储TouchGFX的图片资源文件;
工厂需要下载的文件有以下4个:
- Bootloader 主程序:XXXX_BOOT_ST.bin 下载地址:0x08000000
- Bootloader UI资源文件:XXXX_BOOTUI_ST.bin 下载地址:0x92000000
- Application 主程序:XXXX_APP_ST.bin 下载地址:0x08020000
- Application UI资源文件:XXXX_APPUI_ST.bin 下载地址:0x90000000
常规操作是使用STM32 ST-LINK Utility用户界面,需要一个文件一个文件的选择,设置下载地址,而且针对片外的QSPI Flash还需要使用专用的插件来下载,确实比较麻烦;
可以参考这个文章:【STM32 】通过ST-LINK utility 实现片外FLASH的烧写_u010351030的博客-CSDN博客 https://blog.csdn.net/u010351030/article/details/106384068/
我的解决方案是这样的:
1. 设计好自己的Bootloader, 支持U盘文件升级,可以更新主程序和两个UI资源文件,支持两种更新模式,a. EEPROM标记更新模式,b. 硬件按键强制更新模式;
为解决产品量产时的程序烧录问题,采用STM32的Bootloader结合ST-LINK命令行,设计批处理脚本实现自动化烧录。通过Bootloader支持U盘更新主程序和UI资源文件,支持EEPROM标记更新和硬件按键强制更新模式。详细步骤包括编写Bootloader,烧录Bootloader到Flash,以及利用U盘和Bootloader完成其余程序的烧录。
最低0.47元/天 解锁文章

93

被折叠的 条评论
为什么被折叠?



