keil4mdk编译生成.bin文件

本文介绍了解决KEIL编译后无法正确生成BIN文件的问题。主要原因是编译完成后执行的用户命令中指定的路径不正确。文章详细解释了如何检查并更正User分页中的RUN#1设置,确保fromelf.exe的路径与实际安装路径一致。

我的实测生成.bin为"D:\english router soft\keil4\ARM\ARMCC\bin\fromelf.exe" --bin --output ../upload.bin ../obj/Target.axf

前面为keil的安装路径,后面为生成的.bin和.axf的文件名字。


FromELF: creating hex file...
User command #1: D:\Keil\ARM\BIN40\fromelf.exe  --bin  ..\Obj\Bootloader.axf   -o  ..\Obj\Bootloader.bin
--- Error: User Command terminated, Exit-Code = 1

原因及解决办法:

在OPTIONS FOR TARGET ->User分页有个RUN#1,功能是编译完成后执行该指令操作,应该是该指令有问题,一般情况下该错误是RUN#1设置的执行的程序位置不对;比如你的keil是装在c盘的,自然fromelf.exe文件也在C盘,你要使用fromelf将编译后生成的afx文件再转成bin文件(理论hex文件再转成bin文件也可以,但实测会报错,错误信息为:

C:\Keil\ARM\BIN40\fromelf.exe  --bin  ..\Obj\Bootloader.hex   -o  ..\Obj\Bootloader.bin
FromELF: creating hex file...

User command #1: C:\Keil\ARM\BIN40\fromelf.exe  --bin  ..\Obj\Bootloader.hex   -o  ..\Obj\Bootloader.bin

"..\Obj\Bootloader.hex": Error: Q0454E: In ELF file: File is not an ELF file (wrong magic number)
Finished: 0 information, 0 warning and 1 error messages.

"..\Obj\Bootloader.axf" - 0 Error(s), 0 Warning(s).

),那么你的执行程序的位置改为“C:\Keil\ARM\BIN40\fromelf.exe”,再如果你的keil装在D盘,那么执行程序的路径为D:\Keil\ARM\BIN40\fromelf.exe ;否则会提示该错误,如果不需要把生成的hex文件转bin文件,将Run User Programs AfterBuild/Rebuild的Run #1前的勾去掉或选择fromelf.exe就可以了.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值