Arm Elf_to_hex_tools 并不是一个特定的软件名称,而是一类工具集的统称 ,用于将ARM平台编译生成的ELF格式文件转换为HEX格式文件。
ELF 文件是编译链接后生成的包含调试信息、符号表等多种信息的可执行文件,主要用于调试阶段。HEX 文件是一种标准的文本格式,被绝大多数烧录器、编程器所支持,用于将程序固化到芯片的Flash中。
转换的核心逻辑是:在调试时使用信息完整的ELF文件,在量产或固件发布时,将其转换为HEX文件用于烧录 。
主要包含以下两类工具:
1. fromelf (ARM官方工具)
这是ARM公司官方提供的映像转换工具,集成在Keil MDK-ARM、DS-5、RVDS等ARM开发工具链中。
- 基本用法 :
bash
fromelf --i32combined --output=output.hex input.elf
或指定输出为hex文件:
bash
fromelf.exe --i32 --output=output.hex input.elf
- 支持的输出格式 :
--bin:纯二进制格式--i32:Intel Hex-32格式--m32:Motorola 32位S-record格式--vhx:Verilog内存模型十六进制格式
- 注意 :
fromelf.exe依赖于Keil安装目录下的其他文件,不能单独拿出来运行。
2. arm-none-eabi-objcopy (GNU工具)
这是GNU Binutils工具集的一部分,配合ARM GCC编译器使用,更加灵活轻量。
- 基本用法 :
bash
arm-none-eabi-objcopy -O ihex input.elf output.hex
- 命令解释 :
-O ihex:指定输出格式为Intel HEX(大写O)input.elf:输入的ELF文件output.hex:输出的HEX文件
- 优势 :
arm-none-eabi-objcopy可以单独拿出来运行,不依赖完整的IDE环境。
在IDE中的操作方式
如果你使用Keil µVision这类IDE,不需要手动执行命令:
- 打开
Options for Target→Output选项卡 - 勾选
Create HEX File - 重新编译工程,IDE会自动调用
fromelf生成HEX文件
文件下载:ArmElf_to_hex_tools.zip (1009.4 KB)
未使用验证:ELF.zip (435.7 KB)