查看原文
其他

Keil MDK利用 fromelf 实现axf 转 bin 的方法

The following article is from strongerHuang Author strongerHuang

关注+星标公众,不错过精彩内容

作者 | strongerHuang

微信公众号 | 嵌入式专栏


前面我们讲述了bin、hex、axf和elf文件格式,其中 axf 也算是一种可执行程序文件,只是相对bin和hex具有更多的调试信息。


Keil MDK默认不会生成bin文件,如果需要bin文件,可通过 fromelf 工具实现axf转bin文件。


嵌入式专栏

1

配置输出hex
Keil MDK默认输出选项只有只有hex文件。

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


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

嵌入式专栏

2

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.axf
C:\Keil_v5\ARM\ARMCLANG\bin\fromelf.exe --bin --output=./Objects/Demo.bin ./Objects/Demo.axf


-o:是以前老版本工具的缩写命令。

这里可参看:

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


------------ END ------------


后台回复『Keil系列教程』『IAR系列教程』阅读更多相关文章。


关注微信公众号『嵌入式专栏』,底部菜单查看更多内容,回复“加群”按规则加入技术交流群。


点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。


猜你喜欢:

干货 | 嵌入式开发常见问题解决方法

从编译器角度分析数组名和指针的区别

如何提取代码中的关键信息生成技术文档?

2020年精选原创笔记汇总

在公众号聊天界面回复1024,可获取嵌入式资源;回复 ,可查看文章汇总。

文章都看完了不点个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存