加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

Keil MDK利用 fromelf 實現(xiàn)axf 轉(zhuǎn) bin 的方法

2021/01/28
599
閱讀需 4 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

前面我們講述了bin、hex、axf 和 elf文件格式,其中 axf 也算是一種可執(zhí)行程序文件,只是相對 bin 和 hex 具有更多的調(diào)試信息。

Keil MDK 默認(rèn)不會生成 bin 文件,如果需要 bin 文件,可通過 fromelf 工具實現(xiàn) axf 轉(zhuǎn) bin 文件。

配置輸出 hexKeil MDK 默認(rèn)輸出選項只有只有 hex 文件。

Project ->Options for Target -> Output 勾選上“Create HEX File”(如下圖)

其實在 IAR 中,工程配置就有選擇 bin 還是 hex 的選項,Project -> Optinos -> Output Converter:

axf 轉(zhuǎn) bin 配置雖然 hex 轉(zhuǎn) bin 的方法有很多,但是可通過 Keil MDK 自帶的 fromelf 工具實現(xiàn) axf 轉(zhuǎn) bin 文件。

1. 確定 fromelf 工具所在位置(目錄)

Keil MDK V4 版本默認(rèn)位于:C:Keil/ARM/BIN40

Keil MDK V5 版本默認(rèn)位于:C:Keil_v5ARMARMCLANGbin

如果你安裝時修改了路徑,就需要使用對應(yīng)的路徑。

2. 配置 Keil 工程選項

Project -> Options for Target ->  User -> After Build/Rebuild 添加指令:

C:Keil_v5ARMARMCLANGbinfromelf.exe --bin --output  ./Objects/Demo.bin ./Objects/Demo.axf

其中:

C:Keil_v5:是你對應(yīng)的安裝路徑(工具所在路徑);

Objects:為輸入輸出位置;

3. 格式說明

基本格式為:

fromelf  [options]  output_file  input_file

其中:

[options]:選項字

output_file:輸出文件

input_file:輸入文件

結(jié)合上面例子你會發(fā)現(xiàn):

選項字為:--bin --output

輸出文件:./Objects/Demo.bin

輸入文件:./Objects/Demo.axf

可能你會看見不同的實現(xiàn)方式,比如:

C:Keil_v5ARMARMCLANGbinfromelf.exe --bin -o  ./Objects/Demo.bin ./Objects/Demo.axf
C:Keil_v5ARMARMCLANGbinfromelf.exe --bin --output=./Objects/Demo.bin ./Objects/Demo.axf

-o:是以前老版本工具的縮寫命令。

這里可參看:

https://www.keil.com/support/man/docs/armutil/armutil_pge1362128885938.htm

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

作者黃工,從事嵌入式軟件開發(fā)工作8年有余,高級嵌入式軟件工程師,業(yè)余維護公眾號『strongerHuang』,分享嵌入式軟硬件、單片機、物聯(lián)網(wǎng)等內(nèi)容。