RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MDK使用SRecord對(duì)鏡像自動(dòng)添加校驗(yàn)值并轉(zhuǎn)bin文件

嵌入式USB開發(fā) ? 來源:嵌入式USB開發(fā) ? 作者:嵌入式USB開發(fā) ? 2023-09-19 14:15 ? 次閱讀

本文轉(zhuǎn)自公眾號(hào),歡迎關(guān)注
https://mp.weixin.qq.com/s/uzaGLFTDBAn8wyR84yaiIw

1. 下載軟件

1.1 下載SRecord

進(jìn)入網(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。并且對(duì)原始數(shù)據(jù)的地址 0x08000000 到0x0803FFFC處的值計(jì)算小端模式crc32值,填充在新的文件的0x0803FFFC地址處。新的文件的格式也是intel,并且一行記錄16個(gè)字節(jié)的數(shù)據(jù)。

.srec_cat .XXXX_XXX.hex -intel -offset -0x8000000 -o .XXXX_XXX.bin -binary

表示將hex文件轉(zhuǎn)換成bin文件,地址偏移-0x08000000,即hex文件的地址0x08000000,對(duì)應(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. 生成和驗(yàn)證

3.1自動(dòng)生成

編譯后會(huì)自動(dòng)調(diào)用腳本添加crc值和hex轉(zhuǎn)bin文件。

生成文件如下:

圖片

3.2 校驗(yàn)

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

圖片

使用二進(jìn)制編輯工具010 Editor 對(duì)比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。與自動(dòng)計(jì)算的一致。

4. 參考

Keil官方文檔《an277.pdf》

二進(jìn)制編輯工具《010 Editor》

文本比較工具《Araxis Merge》

CRC在線工具《http://www.atool9.com/file_hash.php》

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5082

    文章

    19104

    瀏覽量

    304777
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    565

    瀏覽量

    24725
  • MDK
    MDK
    +關(guān)注

    關(guān)注

    4

    文章

    209

    瀏覽量

    32063
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    389

    瀏覽量

    14858
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MDK生成bin文件的步驟及方法

    MDK生成bin文件的步驟及方法用MDK 生成bin 文件1用
    發(fā)表于 08-02 10:55

    .bin文件怎么打開,.bin是什么文件

    先確定BIN文件鏡像,再按下列2個(gè)方法可找開文件,1: 下載后如擴(kuò)展名為BIN,MDF,ISO等,必須使用DAEMON TOOLS等虛擬光
    發(fā)表于 01-26 17:57

    MDk如何生成bin文件小結(jié)

    MDk如何生成bin文件,見附件
    發(fā)表于 01-18 15:56

    MDK怎么設(shè)置輸出BIN文件

    MDK怎么設(shè)置輸出BIN文件
    發(fā)表于 10-12 07:21

    MDK生成bin格式的可執(zhí)行文件

    MDK 生成bin 文件1用MDK 生成bin 文件Embest 徐良平在RV
    發(fā)表于 08-02 10:52 ?71次下載

    MDk如何生成bin文件

    介紹了MDk生成bin文件的詳細(xì)過程。
    發(fā)表于 11-02 17:20 ?1次下載

    如何在MDk生成bin格式的文件

    習(xí)慣于使用*.bin格式的文件,甚至有些嵌入式軟件開發(fā)者已經(jīng)擁有了*.bin格式文件的調(diào)試或燒寫工具。為了充分地利用現(xiàn)有的工具,同時(shí)發(fā)揮Realview
    發(fā)表于 05-16 17:22 ?4次下載
    如何在<b class='flag-5'>MDk</b>生成<b class='flag-5'>bin</b>格式的<b class='flag-5'>文件</b>

    MDK -ARM如何生產(chǎn)Bin文件

    MDK-ARM如何生產(chǎn)Bin文件
    的頭像 發(fā)表于 03-14 10:59 ?3351次閱讀
    <b class='flag-5'>MDK</b> -ARM如何生產(chǎn)<b class='flag-5'>Bin</b><b class='flag-5'>文件</b>

    支持Hex、Bin、Motorola S文件的開源庫使用

    本文為大家分享一個(gè)支持Hex、Bin、Motorola S文件鏡像格式之間進(jìn)行轉(zhuǎn)換的庫:BIN2HS。 概述 BIN2HS是支持Intel
    的頭像 發(fā)表于 08-18 09:39 ?2216次閱讀

    成功實(shí)現(xiàn)MDK自動(dòng)生成hex文件的crc并附加到hex文件末尾(bin也支持),然后跟STM32的硬件CRC計(jì)算做比較

    成功實(shí)現(xiàn)MDK自動(dòng)生成hex文件的crc并附加到hex文件末尾(bin也支持),然后跟STM3
    發(fā)表于 11-20 13:36 ?29次下載
    成功實(shí)現(xiàn)<b class='flag-5'>MDK</b><b class='flag-5'>自動(dòng)</b>生成hex<b class='flag-5'>文件</b>的crc<b class='flag-5'>值</b>并附加到hex<b class='flag-5'>文件</b>末尾(<b class='flag-5'>bin</b>也支持),然后跟STM32的硬件CRC計(jì)算<b class='flag-5'>值</b>做比較

    一種Keil MDK生成BIN文件的簡易方法。

    一種Keil MDK生成BIN文件的簡易方法。
    發(fā)表于 01-13 10:18 ?2次下載

    MDK中如何生成bin格式的文件

    習(xí)慣于使用*.bin格式的文件,甚至有些嵌入式軟件開發(fā)者已經(jīng)擁有了*.bin格式文件的調(diào)試或燒寫工具。為了充分地利用現(xiàn)有的工具,同時(shí)發(fā)揮Realview
    發(fā)表于 09-29 16:29 ?0次下載

    淺析HEX和BIN文件

    BIN文件是單純的二進(jìn)制程序文件,內(nèi)部沒有地址信息。如果使用BIN文件燒錄程序時(shí),需要指定下載地址。
    的頭像 發(fā)表于 04-24 17:32 ?5379次閱讀
    淺析HEX和<b class='flag-5'>BIN</b><b class='flag-5'>文件</b>

    MCUXpresso IDE下生成鏡像文件的方法及其與IAR,MDK差異

    MCUXpresso IDE下生成鏡像文件的方法及其與IAR,MDK差異
    的頭像 發(fā)表于 09-28 17:05 ?844次閱讀
    MCUXpresso IDE下生成<b class='flag-5'>鏡像文件</b>的方法及其與IAR,<b class='flag-5'>MDK</b>差異

    keil如何生成bin文件

    Keil是一種集成開發(fā)環(huán)境(IDE),專為ARM架構(gòu)的嵌入式系統(tǒng)開發(fā)而設(shè)計(jì)。在Keil中生成bin文件是將代碼編譯并轉(zhuǎn)換為可執(zhí)行文件的過程。本文將詳細(xì)介紹Keil生成
    的頭像 發(fā)表于 12-15 13:43 ?1.2w次閱讀
    RM新时代网站-首页