KEIL Stm32 bin文件生成的两种方法以及报错的处理

Keil里生成bin文件的方法有两种,记录如下,以免忘记~

首先,在Keil主页面,点击如下按钮,打开Options for Target ‘target 1’对话框,并选择User标签页。

其次,通过在 User标签页 设置 “After Build/Rebuild”项目,可以生成bin文件。

具体设置方法有两种:

具体说明如下:

1 方法一

在Run #1中输入如下指令,并勾选 Run #1,点击OK后,重新编译后,在OBJ路径下可以看到生成的bin文件(test.bin):

“D:\Keil_v5\ARM\ARMCC\bin\fromelf.exe”:指定fromelf.exe的路径,这个根据自己的Keil环境调整,在Keil安装目录下的ARMCC下。

“--bin -o ..\OBJ\test.bin”:指定生成的bin文件存放的路径,以及文件的名称,这里指定的文件名称为test.bin。

“..\OBJ\Target1.axf”:bin文件是根据axf文件生成的,这里生成axf文件在OBJ下的,故整理指定,一般默认路径是USER,故这里如此指定。

指令具体如下:

注意:命令行中不能有 空格 !!!

D:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o ..\OBJ\test.bin ..\OBJ\Target1.axf

2 方法二

在Run #2中直接fromelf指令指定生成bin文件(指令如下),并勾选 Run #2,点击OK后,重新编译后,在OBJ路径下可以看到生成的bin文件(Target 1.bin),“Target 1”是这里的工程名称。

fromelf --bin -o "$L@L.bin" "#L

这种方法生成的bin文件名称与工程名称一致。

3 常见错误

1)错误一

Program Size: Code=114624 RO-data=2016 RW-data=1608 ZI-data=27304  
FromELF: creating hex file...
After Build - User command #1: D:\Keil_v5\ARM\ARMCC\binfromelf --bin -o ..\OBJ\test.bin ..\OBJ\Target 1.axf
*** Error: CreateProcess failed, Command: 'D:\Keil_v5\ARM\ARMCC\binfromelf --bin -o ..\OBJ\test.bin ..\OBJ\Target 1.axf'
"..\OBJ\Target 1.axf" - 1 Error(s), 9 Warning(s).
Target not created.

bin文件创建失败,要看看指令是否正确,例如:查看fromelf.exe路径是否是本地路径,输入输出文件是否正确,例如:上面的错误是由于bin与fromelf.exe之间的斜杠拉了导致。

2)错误二

Program Size: Code=114624 RO-data=2016 RW-data=1608 ZI-data=27304  
FromELF: creating hex file...
After Build - User command #1: D:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o ..\OBJ\test.bin ..\OBJ\Target 1.axf
Error: Q0466E: An output file can only be specified if there is a single input file
Finished: 0 information, 0 warning and 1 error messages.
"..\OBJ\Target 1.axf" - 0 Error(s), 9 Warning(s).
Build Time Elapsed:  00:01:12

这个错误的原因是没有指定输入文件 OR 没有找到输入的axf文件文件。

本例中指令中指定了axf文件,查看路径下也是有输入文件的,但文件名称axf的文件名称为“Target 1.axf”,文件名称中有空格,去掉后再Build一下即可。

如果只改axf名称,不需要重新编译,重新编译生成的axf文件还是有空格的哦,所以只需要Build一下就可以了,除非将工程名称中的空格去掉。

~~转载请注明出处哦~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值