當前位置:
首頁 > 最新 > CodeWarrior IDE使用Tips-使用burner將elf文件轉換生成HEX和BIN文件的方法和步驟詳解

CodeWarrior IDE使用Tips-使用burner將elf文件轉換生成HEX和BIN文件的方法和步驟詳解

作者按:本文旨在回答讀者關心的如何CodeWarrior 2.10和10.6如何生成HEX和BIN文件問題,並對所有Freescale/NXP汽車Freescale/NXP汽車級MCU應用程序集成開發環境(IDE)中生成S19、HEX和bin等常見格式編程文件的方法進行了全面系統的總結,以供大家參考學習!

內容提要

引言

第一步、找到並創建burner工具快捷方式

第二步、將burner快捷方式拷貝到想要轉換的elf文件所在目錄

第三步、設置Burner對話框選項

設置Burner對話框Input/Ouput欄選項----配置輸入輸出文件

設置Burner對話框Content欄選項----設置輸出文件格式和轉換起始地址

第四步、以burner對話框配置生成的命令文件為基礎,創建burner工具控制腳本文件

第五步、使用burner工具控制腳本提取elf文件中的編程數據並輸出為HEX/BIN編程文件

總結

引言

之前的文章《S32DS 使用 tips--工程屬性配置(編譯選項和C編譯器、彙編器及鏈接器設置)》中介紹了如何利用S32DS IDE集成的Create flash image工具生成S19/HEX/BIN等編程文件的方法步驟;在CodeWarrior 6.x(S08系列MCU)和CodeWarrior 5.x中默認會生成S19文件(默認文件名均為Project.abs.s19),要獲得HEX和BIN文件格式的編程文件,可以通過其集成的burner工具進行轉換,也還是十分方便的;

CodeWarrior 2.10和CodeWarrior 10.6下應用工程編譯後默認也會生成S19文件(只是後綴為.mot, 其實質為S19文件,將其後綴改為.s19即可當做S19文件使用,亦可被所有可使用S19文件作為編程文件的Flash編程器識別),但是卻沒有簡單的工程設置選項可以輕易生成/轉換獲得HEX和BIN文件格式的編程文件。

實際上在CodeWarrior IDE中集成的burner工具(針對S08、S12(x)以及MagniV S12Z系列),其功能十分強大,不但可以將CodeWarrior IDE自動編譯生成的.abs文件,並提取其中的編程數據將其轉換為S19/BIN/HEX等不同格式輸出為變成文件,還可以將任何合法的elf文件識別並完成同樣的功能;

本文就結合之前的《CodeWarrior IDE使用Tips之burner工具使用詳解(實現不同類型存儲器地址間的轉換和NVM編程格式文件的輸出)》介紹一種使用burner工具將CodeWarrior 10.x IDE中Qorivva MOC56xx應用工程編譯生成的elf文件編程信息進行提取並轉換生成HEX和BIN格式編程文件的方法和步驟,以供大家參考學習!

第一步、找到並創建burner工具快捷方式

首先,使用全局搜索工具(Window自帶的或者開源工具Everything),搜索burner.exe,定位並打開其所在的目錄:

比如打開CodeWarrior 10.6.4下burner工具的安裝目錄,在其中選中burner.exe右鍵-->選擇,這樣就會在該目錄下生成一個「burner.exe - 快捷方式」:

Tips:CodeWarrior 6.x和CodeWarrior 5.x IDE安裝之後就會自動安裝burner工具,而在CodeWarrior 10.x IDE中若僅安裝支持Qorivva MPC56xx的安裝包,則不包含burner工具,也就不會自動安裝burner工具,需要下載並安裝時選擇S12Z或者S08/RS08支持包,才會安裝burner工具:

其中,

選擇S12Z了,其burner安裝目錄為:MCUS12lisa_ToolsBuild_Tools;

而S08/RS08,其burner安裝目錄為:MCUprog;

無論哪個版本的CodeWarrior IDE,其自帶安裝的burner工具功能都是相同的,都可以用於本文介紹的方法。

第二步、將burner快捷方式拷貝到想要轉換的elf文件所在目錄

然後,將上一步創建的burner工具快捷方式拷貝到目標elf文件所在目錄,本文想要轉換的elf為CodeWarrior 10.6.4中創建的一個MPC5604B的應用工程所生成的二進位可執行文件,在其工程目錄下的FLASH子目錄下:

雙擊該快捷方式,即可打開burner工具,選擇Close,關閉幫助(Tip of the Day)窗口:

第三步、設置Burner對話框選項

設置Burner對話框Input/Ouput欄選項----配置輸入輸出文件

在burner工具中,選擇菜單Burner-->Burner Dialog打開Burner對話框(或者直接點擊右邊的Burner對話框快捷圖標也可):

在Burner對話框中的Input/Ouput欄中,默認的輸入文件為%ABS_FILE%,輸出文件為%ABS_FILE%.s19:

在Burner對話框中Input/Ouput欄,選擇輸入文件為當前目錄下要轉換的elf文(注意文件類型需要選擇為*.elf才可以識別目標elf文件):

然後再將輸出文件改為output.hex:

本例設置完成後的Burner對話框Input/Ouput欄選項如下:

Tips:這裡是轉換輸出為HEX文件,所以輸出文件名為output.hex,若要輸出bin文件,則將其後綴修改為.bin,同時選擇對於的文件類型即可。

設置Burner對話框Content欄選項----設置輸出文件格式和轉換起始地址

接下來,設置輸出格式為Intel Hex,轉換起始地址為,長度為0x80000,即可將elf文件中位於MPC5604B Code-Flash地址0x00000~0x7FFFF的512KB編程數據輸出到目標地址0開始的hex文件中:

Tips:這裡是轉換輸出為HEX文件,若想要輸出bin文件,請將格式選擇為Binary。

另外,這裡設置轉換的起始地址、長度和目標地址需要根據實際MCU的part number對於的地址進行設置。這裡只能設置一端聯繫的轉換地址。若要實現多段不連續地址的轉換,可以通過修改burner腳本文件(.bll)實現。

第四步、以burner對話框配置生成的命令文件為基礎,創建burner工具控制腳本文件

將上一步配置生成的burner控制腳本從burner對話框的Command File欄中拷貝出來:

然後,在elf文件所在目錄下創建一個burner工具控制腳本文件,使用任意文本編輯器打開,粘貼從burner對話框中拷貝的腳本,並保存:

Tips:在此基礎上,若要生成bin文件,並增加對MPC5604B的片上64KB Data-Flash的轉換,則可以參考《CodeWarrior IDE使用Tips之burner工具使用詳解(實現不同類型存儲器地址間的轉換和NVM編程格式文件的輸出)》修改burner工具控制腳本文件內容如下:

MPC5604B的Code-Flash和Data-Flash地址映射如下圖:

第五步、使用burner工具控制腳本提取elf文件中的編程數據並輸出為HEX/BIN編程文件

完成以上步驟之後,關閉burn工具,雙擊elf所在目錄的burner快捷方式重新打開burner工具,並將第三步獲得burner工具控制腳本拖拽到burner中即可生成所需的hex和bin文件:

總結

至此,我已經將所有Freescale/NXP汽車Freescale/NXP汽車級MCU應用程序集成開發環境(IDE)中生成S19、HEX和bin等常見格式編程文件的方法介紹完了,做一總結如下:

以上就是今天跟大家分享的內容。希望對大家有用。

本微信公眾號已經發布的個人原創精品----嵌入式系統技術文章鏈接如下,歡迎大家參考學習,並轉發分享(可直接點擊下列文章題目跳轉閱讀):

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!

TAG: |