将STM32 iap hex文件与app hex文件合并为一个hex文件

时间:2023-02-20 11:51:42

日前公司产品需要增加远程升级功能,boot loader程序写好后交予生产部门使用时他们反馈每个产品程序需要刷写两次(一个boot loader 一个app程序),生产进度变慢浪费时间,于是乎研究如何将两个程序并为一个。

参考:http://blog.csdn.net/yx_l128125/article/details/13591743 后成功实现了将两程序合并为一个。

IAP +APP 结合的方法

 IAP 和APP 的hex 文件合成1个hex 文件的方法有3种:

1、IAP 先烧写进flash 的 0x0800 0000 开始位置,  APP烧写到 flash  的0x 0800 3000开始的地方; 之后通过我上一篇博文的 IAP程序的文件读出功能读取flash 上的数据读到一个.bin文件上。然后通过程序刷写工具刷入起始flash地址为 0x0800 0000中。

2、手动合并iap 和app  的.hex 文件(麻烦,出错率高)

(1)设置IAP程序下载到flash 的开头地址为0x0800 0000,然后编译程序生成hex文件。

(2)设置APP程序下载到flash 的开头地址(地址依据芯片和程序大小而定),然后编译程序生成hex文件。

(3)用 notepad++  打开  IAP 的hex文件和APP的hex 文件

    把IAP的.hex 最后一句结束语句去掉(即:删除:00000001FF)

    把APP的.hex 全部内容拷贝复制到 刚才删掉结束语句的 IAP的.hex后面

(4)把两个hex合成的hex文件重新命名为XXX.hex,然后通过烧写工具烧写到0x0800 0000 开始位置的地址即可。

3、利用bin文件合并工具将两个bin文件合并为一个(简单强大迅速出错率低,推荐使用该方法)。

  工具链接:http://dl.pconline.com.cn/download/476148.html