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

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM