MDK5(KEIL5)中如何生成bin文件
MDK内部自带有 fromelf.exe 工具,可以很方便的生成bin文件,并且生成的bin文件亲测可用。
该工具的语法为:fromelf [options] input_file
关于 [options] 的语法格式,
该工具的语法为:fromelf [options] input_file
其中options中的选项及说明如下:
命令选项格式
命令 | 说明 |
--help | 显示帮助信息 |
--vsn | 显示版本信息 |
--output file | 输出文件(默认输出为文本文件) |
--nodebug | 在生成的映像文件中不包含调试信息 |
--nolinkview | 在生成的映像文件中不包含段的信息 |
二进制输出格式
选项 | 说明 |
--bin | 输出plain binary格式的文件 |
--m32 | 生成Motorola 32位十六进制格式的文件 |
--i32 | 生成Intel 32位的十六进制格式的文件 |
--vhx | 面向字节的位十六进制格式的文件 |
--base addr | 设置m32,i32格式文件的基地址 |
--text | 显示文本信息,文本信息标志如下: -v 打印详细信息 -a 打印数据地址(针对带调试信息的映 像) -d 打印数据段的内容 -e 打印表达式表 -f 打印消除虚函数的信息 -g 打印调试表 -r 打印重定位信息 -s 打印字符表 -t 打印字符串表 -y 打印动态段的内容 -z 打印代码和数据大小信息 |
1、首先,打开现有的工程;
2、打开 Option for Target标签;
3、选择User标签页,并且填入如下信息,在最前面Run,选择一下
D:\keil5\ARM\ARMCC\bin\fromelf.exe --bin --output ../OBJ/PWM.bin ../OBJ/PWM.axf
//生成 BIN文件
选择fromelf。exe 文件
D:\tools\mdk5.14\ARM\ARMCC\bin\fromelf.exe
格式
F:\keil\ARM\ARMCC\bin\fromelf.exe --bin --output ../OBJ/IAP.bin ../OBJ/IAP.axf
F:\keil\ARM\ARMCC\bin\fromelf.exe --bin --output ..\OBJ\IAP.bin ..\OBJ\IAP.axf
F:\keil\ARM\ARMCC\bin\fromelf.exe --bin -o ..\OBJ\IAP.bin ..\OBJ\IAP.axf
D:\tools\mdk5.14\ARM\ARMCC\bin\fromelf.exe --bin -output ..\OBJ\RTC.bin ..\OBJ\RTC.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文件所在位置,填上去就可以了。

这里填入的axf文件名,要和Output标签下的文件名一样,axf文件的路径也可以在这边看到。
4、点击 OK,大功告成,再次编译,就可以在你想要的路径下,看到bin文件啦。
可能遇到的问题:
1、编译运行出错,找不到axf文件路径。
确认一下,路径是否和工程的axf文件路径一致,一定注意最前面是 ../
,是两个点。
2、找不到bin文件。
确认一下,output输出路径,再次强调,一定注意最前面是 ../
,是两个点。