MDK5(KEIL5)中如何生成bin文件

MDK5(KEIL5)中如何生成bin文件

大家都知道MDK中默认可以生成hex文件,但是笔者最近在调试IAP在线升级程序时,需要用到bin文件来使用,那么在MDK中如何生成bin文件呢?

笔者胡乱搜索一通,到是找到了有很多方法可以生成bin文件,比如说借助外部的hex2bin软件,但是笔者实验之后发现生成的bin文件还是无法使用,并且文件体积也比较大。

通过比较,发现MDK内部自带有 fromelf.exe 工具,可以很方便的生成bin文件,并且生成的bin文件亲测可用。

该工具的语法为:fromelf [options] input_file

关于 [options] 的语法格式,这里就不啰嗦了,感兴趣的可以参考这篇文章
Keil如何生成bin文件

1、首先,打开现有的工程;
2、打开 Option for Target标签;

MDK5(KEIL5)中如何生成bin文件

3、选择User标签页,并且填入如下信息,在最前面Run,选择一下

MDK5(KEIL5)中如何生成bin文件

 D:\keil5\ARM\ARMCC\bin\fromelf.exe --bin --output ../OBJ/PWM.bin ../OBJ/PWM.axf

说明:
fromelf: D:\keil5\ARM\ARMCC\bin\fromelf.exe
MDK自带工具路径,笔者的路径如上所示,请修改为自己的路径(或者点击右边的文件夹小图标,找到该工具)。
[options]: --bin --output …/OBJ/PWM.bin
生成bin文件命令,想把生成的bin文件放在什么地方(记住路径最前面是 …/(两个点),而不是 ./(一个点),之前就被坑了)。
input_file: …/OBJ/PWM.axf
输入文件,这里是用axf格式的文件转换为bin文件,找到你工程里的axf文件所在位置,填上去就可以了。
MDK5(KEIL5)中如何生成bin文件

这里填入的axf文件名,要和Output标签下的文件名一样,axf文件的路径也可以在这边看到。

4、点击 OK,大功告成,再次编译,就可以在你想要的路径下,看到bin文件啦。
MDK5(KEIL5)中如何生成bin文件
MDK5(KEIL5)中如何生成bin文件

可能遇到的问题:

1、编译运行出错,找不到axf文件路径。
确认一下,路径是否和工程的axf文件路径一致,一定注意最前面是 …/,是两个点。

2、找不到bin文件。
确认一下,output输出路径,再次强调,一定注意最前面是 …/,是两个点。