本文轉(zhuǎn)自公眾號,歡迎關(guān)注
https://mp.weixin.qq.com/s/uzaGLFTDBAn8wyR84yaiIw
1. 下載軟件
1.1 下載SRecord
進入網(wǎng)址https://sourceforge.net/projects/srecord/,下載最新版本SRecord。

1.2 解壓壓縮包,復(fù)制下面的exe文件到工程下
與uvprojx工程文件保持同一目錄

2. 配置MDK
2.1 編輯腳本
1)新建名字為crchex2bin的txt文件,改后綴名為bat。

2)在crchex2bin.bat下添加以下內(nèi)容
copy .XXXX_XXXoutputXXXX_XXX.hex .
.srec_cat .XXXX_XXX.hex -intel -crop 0x08000000 0x0803FFFC -fill 0x00 0x08000000 0x0803FFFC -crc32-l-e 0x0803FFFC -o .XXXX_XXX_Check.hex -intel -obs=16
.srec_cat .XXXX_XXX.hex -intel -offset -0x8000000 -o .XXXX_XXX.bin -binary
.srec_cat .XXXX_XXX_Check.hex -intel -offset -0x8000000 -o .XXXX_XXX_Check.bin -binary
其中copy .XXXX_XXXoutputXXXX_XXX.hex .表示將optput下生成的hex文件復(fù)制到工程所在目錄。
.srec_cat .XXXX_XXX.hex -intel -crop 0x08000000 0x0803FFFC -fill 0x00 0x08000000 0x0803FFFC -crc32-l-e 0x0803FFFC -o .XXXX_XXX_Check.hex -intel -obs=16
表示將intel格式的XXXX_XXX.hex的地址 0x08000000 到0x0803FFFC處的值復(fù)制到新的文件XXXX_XXX_Check.hex的 0x08000000 到0x0803FFFC地址處,不足處填充0x00。并且對原始數(shù)據(jù)的地址 0x08000000 到0x0803FFFC處的值計算小端模式crc32值,填充在新的文件的0x0803FFFC地址處。新的文件的格式也是intel,并且一行記錄16個字節(jié)的數(shù)據(jù)。
.srec_cat .XXXX_XXX.hex -intel -offset -0x8000000 -o .XXXX_XXX.bin -binary
表示將hex文件轉(zhuǎn)換成bin文件,地址偏移-0x08000000,即hex文件的地址0x08000000,對應(yīng)到bin文件的地址0。
.srec_cat .XXXX_XXX_Check.hex -intel -offset -0x8000000 -o .XXXX_XXX_Check.bin -binary
同上
2.2 使能配置生成hex文件

2.3 配置添加用戶腳本

3. 生成和驗證
3.1自動生成
編譯后會自動調(diào)用腳本添加crc值和hex轉(zhuǎn)bin文件。
生成文件如下:

3.2 校驗
使用文本比較工具Araxis Merge對比TY38_EPS_Check.hex和TY38_EPS.hex,發(fā)現(xiàn)在后面填充了0x00,并且在最后填充了CRC值0xA055E2F8

使用二進制編輯工具010 Editor 對比XXXX_XXX_Check.bin和XXXX_XXX.bin,發(fā)現(xiàn)在后面填充了0x00,并且在最后填充了CRC值0xA055E2F8

在010 Editor中將TY38_EPS_Check.bin的最后四字節(jié)刪除

另存為
tocheck.bin。
打開網(wǎng)頁 http://www.atool9.com/file_hash.php
將tocheck.bin文件拖放到網(wǎng)頁里,只勾選CRC32

查看crc值為0xA055E2F8。與自動計算的一致。
4. 參考
Keil官方文檔《an277.pdf》
二進制編輯工具《010 Editor》
文本比較工具《Araxis Merge》
CRC在線工具《http://www.atool9.com/file_hash.php》
審核編輯:湯梓紅
-
嵌入式
+關(guān)注
關(guān)注
5184文章
20116瀏覽量
327887 -
文件
+關(guān)注
關(guān)注
1文章
587瀏覽量
25908 -
MDK
+關(guān)注
關(guān)注
4文章
211瀏覽量
33429 -
腳本
+關(guān)注
關(guān)注
1文章
406瀏覽量
29037
發(fā)布評論請先 登錄
.bin文件怎么打開,.bin是什么文件
如何在MDk生成bin格式的文件
支持Hex、Bin、Motorola S文件的開源庫使用
成功實現(xiàn)MDK自動生成hex文件的crc值并附加到hex文件末尾(bin也支持),然后跟STM32的硬件CRC計算值做比較

MDK使用SRecord對鏡像自動添加校驗值并轉(zhuǎn)bin文件
評論