visited 13 states (5.77%)
Create your own visited map of The World or Triposo world travel guide for Android

2012-03-29

在Keil開發環境下將*.axf轉成*.bin file

有時候需要用到工作站模擬系統的運作流程,但是Keil所編譯出的axf file無法直接載入工作站模擬程式的行為,必須要透過Keil內附的工具轉成bin檔才能使用。

1. 首先選擇上方工具列的「Flash」->「Configure Flash Tools...」

2. 選擇「User」頁面,裡面會看到三種command line的設定:

Run User Program Before Compilation of C/C++ File
在compile之前可以執行User設定的命令,ex:可以在compile之前先將code從server check out出來。

Run User Program Before Build/Rebuild
在Build之前可以執行User設定的命令,ex:可以在每次build出axf檔案前先將檔案備分到特定資料夾或是更名。

Run User Program After Build/Rebuild
在Build之後可以執行User設定的命令,ex:將axf檔案轉成另一種格式的binary file。

3. 在這裡選擇「Run User Program After Build/Rebuild」,在「Run #1:」後輸入

C:\Keil\ARM\BIN40\fromelf.exe --bin -o ./obj/test.bin ./obj/test.axf

其中C:\Keil\ 為Keil資料夾的安裝路徑,請依據每台電腦的安裝位置自行修改,此處為舉例。另外,如無特別更改,ARM\BIN40\fromelf.exe的相對位置應該是正確的,test.bin則為轉出後的檔名,test.axf為原本的build出的檔案。重點在於使用fromelf.exe的參數 --bin(轉換成bin file)與-o(輸出檔案)要正確。

4. 將「Run #1:」的checkbox打勾(當然用#2也是可以),選擇底下的「OK」

5. 按下Build / Rebuild,如果程式編譯正確,應該可以看到Build output的訊息列出現:

Progeam Size: Code=xxxxx RO-data=xxx RW-data=xx ZI-data=xxxx
User command #1 C:\Keil\ARM\BIN40\fromelf.exe --bin -o ./obj/test.bin ./obj/test.axf
".\obj\test.axf" - 0 Error(s), 0 Warning(S).

6. 到test這支Keil C 程式的目錄下,進入obj資料夾,應該可以發現除了test.axf,也多了test.bin,那就表示完成了。

基本的設定方式是這樣,就根據不同的檔案規劃與位置做些微修改就可使用。

這些也是同標籤文章 :

沒有留言: