前言
在产品开发中都会预留各种各样的程序升级的接口,为了防止程序出问题,可以及时的更新程序,如果设备没有在线升级怎么办。当然可以召回,或者给客户提供程序下载器,让用户自己进行程序升级,而且一个STM32的程序下载器最少也需要30块。通过串口下载应该是最好的方式,一个TTL转USB才几块钱。
实现方式
通过外部按键或者串口指令让程序进入bootloader就可以进行程序下载了,bootloader一直存在,即使升级出问题也可以再次升级。目前已经实现STM32F030C8T6的bootloader,使用Ymodem进行bin文件传输,bootloader支持shell命令行输入。flash占用8K以内,ram占用1.5K
效果展示
ls 指令查看支持的指令
sh >ls
cola shell commands:
help - cola shell help.
reboot - reboot
ls - ls
download - download
sh >
程序下载
引脚定义: PA0 输入,默认下拉。PA9,PA10 串口 TX,RX
工具:secure CRT
1.将PA0接高电平,按下复位键进入bootloader。
2.终端里输入download回车, 然后将要下载的程序bin文件拖入选择send Ymodem,即可下载。
3.下载完成,PA0接低,reboot重启。
用户程序设置偏移
bootloader下载
烧录文件:程序下载
通过jlink将程序下载到0x8000000位置地址。
如有问题欢迎在评论区留言