title: "MDK编译生成.bin文件"
date: "2017-04-20 13:08"
使用 MDK 时,我们实际烧录的文件其实是 .axf 文件,所以一般情况下我们不需要编译出 .bin 或 .hex 文件。
生成 .hex 文件时,需要在工程打开状态 MDK 的 Options for Target 选项中,点击 Output 选项,在中间的 Create HEX File 的空白矩形框上打上勾即可。 .hex 文件可以使用第三方烧写工具烧录到 MCU 中,但是一些烧录工具或者芯片只支持 .bin 文件的烧录,这时候我们需要 MDK 能够输出 .bin 文件,并且 .bin 文件远要比 .hex 来的通用些。
下面说下如何生成 .bin 文件:
直接在 CMD.exe 下运行 fromelf 工具则可以看到所有的选项和基本命令,这边仅列出最常用的一些内容:
转换过程实际是:通过fromelf.exe工具进行转换,将 .axf 格式的文件转换成 .bin 格式的文件。你也可以不通过 MDK ,而是直接在 CMD.exe 窗口下运行 C:/Keil_v5/ARM/ARMCC/bin/fromelf.exe --bin -o ../OBJ/consumer.bin ../OBJ/consumer.axf 手动将 .axf 文件 转换成 .bin 文件。
1.选择 ProjectOption for Target 'Target 1'2.设置参数
注意:这是在C:\路径下建立的工程文件
fromelf --bin --output .\rvmdk\haha.bin .\rvmdk\haha.axf
表示:利用Keil自带的fromelf.exe生成bin文件,bin文件保存在rvmdk文件夹中,haha是工程名
将生成的bin文件下载入板子中,系统开始运行!
如果是MDK,可以直接在项目选项的用户自定义中,在编译完成后自动执行。例如:C:\Keil\ARM\BIN40\fromelf.exe --bin --output abcdefg.bin output\abcdefg.axf
如果是C51,需要借助第三方的hex2bin.exe来自动完成转换。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)