Keil中fromelf格式描述及axf转bin的方法
来源:嵌入式专栏发布时间:2022-12-08336浏览
询问 AI
作者 |strongerHuang
微信公众号 |strongerHuang
之前给大家分享过bin、hex、axf和elf文件格式,其中 axf 也算是一种可执行程序文件,只是相对bin和hex具有更多的信息。Keil 默认不会生成bin文件,如果需要bin文件,可通过fromelf 工具实现axf转bin文件。
配置输出hex
KeilMDK默认输出选项只有hex文件。Project ->Options for Target -> Output 勾选上“Create HEX File”(如下图)

其实在IAR中,工程配置就有选择bin,还有hex的选项,Project -> Optinos -> Output Converter:

axf 转 bin 配置
虽然hex转bin的方法有很多,但是可通过Keil MDK自带的 fromelf 工具实现axf转bin文件。
1.确定fromelf 工具所在位置(目录)
Keil MDK V4版本默认位于:C:\Keil/ARM/BIN40
Keil MDK V5版本默认位于:C:\Keil_v5\ARM\ARMCLANG\bin
如果你安装时修改了路径,就需要使用对应的路径。
2.配置Keil工程选项
Project -> Options for Target -> User -> After Build/Rebuild 添加指令:
C:\Keil_v5\ARM\ARMCLANG\bin\fromelf.exe --bin --output ./Objects/Demo.bin ./Objects/Demo.axf其中:
C:\Keil_v5:是你对应的安装路径(工具所在路径);
Objects:为输入输出位置;

3.格式说明
基本格式为:
fromelf [options] output_file input_file
其中:
[options]:选项字
output_file:输出文件
input_file:输入文件
结合上面例子你会发现:
选项字为:--bin --output
输出文件:./Objects/Demo.bin
输入文件:./Objects/Demo.axf
可能你会看见不同的实现方式,比如:
C:\Keil_v5\ARM\ARMCLANG\bin\fromelf.exe --bin -o ./Objects/Demo.bin ./Objects/Demo.axfC:\Keil_v5\ARM\ARMCLANG\bin\fromelf.exe --bin --output=./Objects/Demo.bin ./Objects/Demo.axf
这里可参看:
https://www.keil.com/support/man/docs/armutil/armutil_pge1362128885938.htm


新闻来源:嵌入式专栏,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。

