注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
北北的个人空间 https://home.eeworld.com.cn/space-uid-348360.html [收藏] [复制] [分享] [RSS]
日志

STM32-IAP学习笔记2---STM32 通过UART实现IAP功能 (在STM32F103C8T6验证通过)

已有 2548 次阅读2015-11-26 18:16 |个人分类:STM32| 双剑合一, IAP, HEX

参考网友文章《stm32 IAP + APP ==>双剑合一》在STM32F103C8T6上验证通过。

有之前IAP方式的不足(出厂前必须先烧录IAP引导代码,再通过串口方式升级代码至我们出厂时需要的功能,很麻烦!),
我们采用双剑合一的方式,最终出厂前只需将一个HEX文件烧录到MCU即可。
(即实现:上电后默认执行APP代码,有触发时更新APP)

IAP和APP两个工程文件的hex文件合成1个hex文件的方法:
1、
前文说过两个工程文件的KEIL配置:
对于A工程(IAP):
设置KEIL中魔术棒中的target中勾选IROM1,并配置其后的数据为 0x08000000,即程序定位在FLASH的最开始处(IAP程序)。

对于B工程(APP):
设置KEIL中魔术棒中的target中勾选IROM1,并配置其后的数据为 0x08004000,即程序定位在IAP区域的后面。      
编译通过后,得到两个HEX文件。

2、
用UltraEdit打开IAP和APP的.hex文件

把IAP的.hex 最后一句去掉(即:删除:00000001FF)。
把APP的.hex 全部内容拷贝复制到刚才删掉结束语句的IAP的.hex后面。
保存。
 
3、通过ST官方下载的flash loader软件以ISP的方式烧录到MCU(参看《ST官方flash loader软件串口方式下载HEX》)。

4、上电后,可看到执行APP代码。
     若需要升级,则先按着升级触发按键,再按下复位键,进行升级。升级成功后,执行新APP代码。

完结。
评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章