stm32生成bin文件并添加CRC校验到文件末尾

做STM32的IAP升级需要用到BIN文件,为了确保BIN文件正确,于是在BIN文件的末尾增加了CRC校验。

校验值是自动生成的并添加的。

首先是准备工作:

1.下载校验值生成工具

下载后里面的exe文件解压到keil任意的文件下,这里我是放在D:\Keil_v5\ARM\ARMCC文件夹内。这个路径 后续需要用到。

2.在你项目的启动文件所在的文件夹内,增加一个bat文件

  方法:新建txt文件,然后将下面的内容拷贝进去,最后修改后缀名

内容如下:

@echo off
ECHO Add CRC32  At the end of the document
ECHO -------------------------------------

SET SREC_PATH=D:\Keil_v5\ARM\ARMCC        //这里的SET SREC_PATH是你安装工具的位置(这句话记得删除)

for /f %%i in ('dir /b .\raw.bin') do (
set indexdx=%%~zi
)

ECHO %indexdx%

ECHO %SREC_PATH%\srec_cat.exe raw.bin -Binary -crop 0 %indexdx%  -crc32-b-e %indexdx%  -o gps_bass.bin -Binary
%SREC_PATH%\srec_cat.exe raw.bin -Binary -crop 0 %indexdx%  -crc32-l-e %indexdx%  -o gps_bass.bin -Binary

3.打开你的项目,点击魔术棒,打开user选项卡,在After Build栏,勾选RUN1,RUN2。

在RUN1 栏添加“D:\Keil5\ARM\ARMCC\bin\fromelf.exe --bin --output=raw.bin !L”  //安装路径不一定相同,找到你安装keil的文件夹,选中ARM\ARMCC\bin\fromelf.exe,后面照抄

在RUN2栏,选中刚刚增加的BAT文件

 

最后直接编译就会得到两个bin文件,一个raw.bin  一个gps_bass.bin

 

想要BIN文件的命名不一样?

1.在RUN1  output=raw.bin这里修改成 output=xxxx.bin

2.在BAT文件内,把所有raw改成xxxx,

把gps_bass.bin改成你想要的aaa.bin

 

参考连接:https://blog.csdn.net/wandersky0822/article/details/104015110

https://blog.csdn.net/Simon223/article/details/105724950/?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0.no_search_link&spm=1001.2101.3001.4242

 

  

posted on 2021-10-14 14:25  chaina_家长  阅读(4548)  评论(0编辑  收藏  举报