STM32使用批处理实现内部flash,外部flash等多个地址hex文件合并,再通过STM32CubeProg同时下载

说明:
1、对于AP+APP方式的程序,出厂时,如果多个程序都在内部Flash或者外部flash,制作个hex或者bin合并,可以方便的下载。

     但下载到不同的存储器,是否还可以同时下载,也是可以的,尽管下载算法不同。

2、hex合并需要用到一个小软件srec_cat.exe。
srecord-1.64-win32.zip 

https://sourceforge.net/projects/srecord/files/srecord-win32

1、简单写个批处理文件MergeHex.bat,内容如下:

STM32使用批处理实现内部flash,外部flash等多个地址hex文件合并,再通过STM32CubeProg同时下载_第1张图片

合并两个文件,一个是boot.hex,地址0x0800 0000,另一个是app.hex,地址0x9000 0000。合并后生成文件MergedHexFile.hex。

大家将MergeHex.bat,boot.hex,app.hex,srec_cat.exe文件放在同一个路径下,路径不要有中文,点击批处理文件即可生成MergedHexFile.hex

这里将这几个文件也一起上传,方便大家测试:
test.rar 

2、将生成的MergedHexFile.hex加载到STM32CubeProg小软件里面,可以看到两个地址正常区分了:
STM32使用批处理实现内部flash,外部flash等多个地址hex文件合并,再通过STM32CubeProg同时下载_第2张图片


3、设置使用外部flash算法:
STM32使用批处理实现内部flash,外部flash等多个地址hex文件合并,再通过STM32CubeProg同时下载_第3张图片

4、点击开启下载后,可以看到已经正确分析出两个地址空间,以此执行相应下载:

STM32使用批处理实现内部flash,外部flash等多个地址hex文件合并,再通过STM32CubeProg同时下载_第4张图片

你可能感兴趣的:(STM32开发板)