<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MDK使用SRecord對鏡像自動添加校驗值并轉bin文件

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

本文轉自公眾號,歡迎關注
https://mp.weixin.qq.com/s/uzaGLFTDBAn8wyR84yaiIw

1. 下載軟件

1.1 下載SRecord

進入網址https://sourceforge.net/projects/srecord/,下載最新版本SRecord。

圖片

1.2 解壓壓縮包,復制下面的exe文件到工程下

與uvprojx工程文件保持同一目錄

圖片

2. 配置MDK

2.1 編輯腳本

1)新建名字為crchex2bin的txt文件,改后綴名為bat。

圖片

2)在crchex2bin.bat下添加以下內容

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文件復制到工程所在目錄。

.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處的值復制到新的文件XXXX_XXX_Check.hex的 0x08000000 到0x0803FFFC地址處,不足處填充0x00。并且對原始數據的地址 0x08000000 到0x0803FFFC處的值計算小端模式crc32值,填充在新的文件的0x0803FFFC地址處。新的文件的格式也是intel,并且一行記錄16個字節的數據。

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

表示將hex文件轉換成bin文件,地址偏移-0x08000000,即hex文件的地址0x08000000,對應到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自動生成

編譯后會自動調用腳本添加crc值和hex轉bin文件。

生成文件如下:

圖片

3.2 校驗

使用文本比較工具Araxis Merge對比TY38_EPS_Check.hex和TY38_EPS.hex,發現在后面填充了0x00,并且在最后填充了CRC值0xA055E2F8

圖片

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

圖片

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

圖片

另存為

tocheck.bin。

打開網頁 http://www.atool9.com/file_hash.php

將tocheck.bin文件拖放到網頁里,只勾選CRC32

圖片

查看crc值為0xA055E2F8。與自動計算的一致。

4. 參考

Keil官方文檔《an277.pdf》

二進制編輯工具《010 Editor》

文本比較工具《Araxis Merge》

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

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    4993

    文章

    18357

    瀏覽量

    289923
  • 文件
    +關注

    關注

    1

    文章

    540

    瀏覽量

    24419
  • MDK
    MDK
    +關注

    關注

    4

    文章

    207

    瀏覽量

    31810
  • 腳本
    +關注

    關注

    1

    文章

    372

    瀏覽量

    14669
收藏 人收藏

    評論

    相關推薦

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

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

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

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

    MDk如何生成bin文件小結

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

    CH573生成的bin文件能否自動計算校驗且覆蓋文件最后幾個字節?

    生成的bin文件能否自動計算校驗且覆蓋文件最后幾個字節?
    發表于 07-28 07:09

    MDK怎么設置輸出BIN文件?

    MDK怎么設置輸出BIN文件
    發表于 10-12 07:21

    MDK生成bin格式的可執行文件

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

    MDk如何生成bin文件

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

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

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

    MDK -ARM如何生產Bin文件

    MDK-ARM如何生產Bin文件
    的頭像 發表于 03-14 10:59 ?2905次閱讀
    <b class='flag-5'>MDK</b> -ARM如何生產<b class='flag-5'>Bin</b><b class='flag-5'>文件</b>

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

    本文為大家分享一個支持Hex、Bin、Motorola S文件鏡像格式之間進行轉換的庫:BIN2HS。 概述 BIN2HS是支持Intel
    的頭像 發表于 08-18 09:39 ?1776次閱讀

    成功實現MDK自動生成hex文件的crc值并附加到hex文件末尾(bin也支持),然后跟STM32的硬件CRC計算值做比較

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

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

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

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

    更習慣于使用*.bin格式的文件,甚至有些嵌入式軟件開發者已經擁有了*.bin格式文件的調試或燒寫工具。為了充分地利用現有的工具,同時發揮Realview
    發表于 09-29 16:29 ?0次下載

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

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

    keil如何生成bin文件

    Keil是一種集成開發環境(IDE),專為ARM架構的嵌入式系統開發而設計。在Keil中生成bin文件是將代碼編譯并轉換為可執行文件的過程。本文將詳細介紹Keil生成
    的頭像 發表于 12-15 13:43 ?4266次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>