STM32 IAP下载上位机及bootloader分享
论坛里学到不少东西,很少有拿得出手可以分享给大家的东西,看论坛有IAP下载的,比如原子的是一次接收全部再升级,此方式只适合学习IAP原理,实际项目中都不会这么用,比如miniV3用的芯片RC,由于RAM限制,只能升级41K以下的程序,这就需要用到边接收变升级处理的方法,于是在原子基础上修整体思路,上位机发送连接指令,连接到STM32后,发送数据包数,之后进入BIN升级文件发送,STM32端接收到数据后,计算包数,完全接收够数据了然后开始升级程序,上电100ms没有收到信号则自动跳转到APP程序处,未做CRC校验,后续有待改进
使用VB设计上位机,界面如下:
勾选预览BIN,可以查看BIN文件信息,自学的VB,很多东西还没摸透,如图加载一个49.1KB的BIN文件,TEXTBOX里打印出来信息,竟然要十二秒左右,不知道为什么会这么慢还在摸索,一般都不预览BIN文件,读取数据倒是很快,重复下载功能暂时没有开启使用,另外自动复位下载需要在APP程序中添加支持,可以做到不断电自动复位进入BootLoader然后开始下载。
下载成功界面:
不预览BIN文件
预览BIN文件的界面
BootLoader程序3K多,APP程序中ROM设置地址如下:其实地址设置为0X08001000,size就根据使用的芯片设置即可
测试平台STM32F103R8T6,此芯片为MD类型的,用于RC此类的HD类型的,只需要更改bootloader中启动文件,另外STMFLASH.H问价里的FLASH_SIZE对应修改即可。
有建议的也欢迎提建议,还有很多地方有待优化
bootloader源码及上位机软件见附件。
谢谢分享STM32 IAP下载上位机及bootloader 这个是通过串口实现的吗
回 chenmios 的帖子
chenmios:这个是通过串口实现的吗(2018-01-13 09:23) images/back.gif
是的 先看看再说。。。。。 这个是确实不错