elf格式轉換為hex格式文件的兩種方法


這周工作終於不太忙了,可以寫點筆記總結一下了。

之前的文章如何在Keil-MDK開發環境生成Bin格式文件,介紹了如何在Keil開發環境使用fromelf軟件,將生成的axf文件轉換為bin文件,這次我們再來介紹一下如何將elf文件轉換為hex文件。

如何將elf文件轉換為hex文件

elf(Executable and Linkable Format)文件一般是由gcc編譯器生成的,在Linux開發環境使用較多,但Windows一般情況下需要使用hex文件來進行燒錄,那么如何將elf格式轉換為hex格式呢?elf轉hex有兩種方式,一個是使用Keil環境自帶的fromelf.exe工具,第二個是使用arm-gcc編譯器下的arm-none-eabi-objcopy.exe工具。

先看一下我電腦上的文件路徑

測試文件路徑

D:\ELF	
	|-- arm-none-eabi-objcopy.exe
	|-- arm_file.hex
	|-- formelf_file.hex
	|-- output.elf

fromelf文件路徑

E:\Keil_v5\ARM\ARMCC_505u2\bin\fromelf.exe

arm-none-eabi-objcopy.exe文件路徑

D:\ELF\arm-none-eabi-objcopy.exe

使用formelf工具將elf文件轉換為hex文件

"E:/Keil_v5/ARM/ARMCC_505u2/bin/fromelf.exe" --i32combined --output="D:/ELF/formelf_file.hex" "D:/ELF/output.elf"

命令說明:

--i32combined表示生成hex文件

--output=指定輸出hex文件的存儲路徑和文件名

"D:/ELF/output.elf"指定輸入elf文件的路徑

使用arm-none-eabi-objcopy工具將elf文件轉換為hex文件

"D:/ELF/arm-none-eabi-objcopy.exe" -O ihex "D:/ELF/output.elf" "D:/ELF/arm_file.hex"

-O ihex表示生成hex文件,這里要注意是大寫的O。

注意

  • 從兩種方法生成的hex文件來看,還是有一些區別的,但程序運行都是一樣的。
  • fromelf.exe不能拿出來單獨運行,它還依賴於Keil安裝目錄下的其他文件
  • arm-none-eabi-objcopy可以拿出來單獨運行

arm-none-eabi-objcopy及測試文件下載地址:ELF.rar


歷史精選文章:


歡迎大家關注我的個人博客

或微信掃碼關注我的公眾號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM