本帖最后由 PCA 于 2016-12-2 14:05 编辑
论坛里学到不少东西,很少有拿得出手可以分享给大家的东西,看论坛有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_MV10_STM32F10X_MD.rar
(104.16 KB, 下载次数: 1467)
2016-12-2 12:44 上传
点击文件名下载附件
STM32串口下载MV10.rar
(42.81 KB, 下载次数: 1551)
2016-12-2 12:44 上传
点击文件名下载附件
不错!顶顶顶
一周热门 更多>