为满足日常开发需求,现在很多情况下一个片子需要通过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的文件要确保烧写的地址。
|