stm32同时编译多个固件

stm32同时编译多个固件,第1张

为满足日常开发需求,现在很多情况下一个片子需要通过BootLoader和Application两段程序组成。

Bootloader:一般用作用户升级Application用户程序用,程序的起始地址为:0x08000000,当遇到Application程序有更新的情况下,可以很方便和友好的通过BootLoader程序来对其进行更新。Bootloader更新Application的方式和途径有很多,比如串口的IAP、U盘的IAP等等,本人常用U盘进行升级。

Application:用户程序。一般起始地址并不是再0x08000000。

调试烧写hex固件的方式我一般选择的是Jflash,方式也很多,比如,Stlink的烧写软件,串口的烧写软件(MCUISP挺好用)等等。

第一步:将多个HEX文件合并成一个HEX文件。

这里以两个HEX为例,其中一个为BootLoader,另一个为Application。

1.新建一个文本文档,并命名成XXX.hex

2.通过各种编辑器分别打开BootLoader.hex、Application.hex和XXX.hex。我这里用的是notepad++。

3.把Bootloader里面的内容全部复制到XXX.hex中

4.删除XXX.hex中的最后一行(:00000001FF)

5.将Application.hex中的内容全部复制并添加到XXX.hex的结尾

6.保存,此时的XXX.hex文件就是一个合并了Bootloader和Application的固件。

第二步:烧写固件

烧写固件比较简单,但是要注意两个hex的文件要确保烧写的地址。

可以这么找,打开工程的Options for Target,看下Output里面到底哪个文件夹啊。

微软的搜索有时很鸡肋的,有时我都看到了那个文件还是搜索不到。

搜索时建议搜索关键字"*.hex"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11500982.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存