keil中如何生成bin文件

时间:2021-02-10 11:47:48

http://blog.sina.com.cn/s/blog_60cf05130101eddp.html



首先要说明一下.bin 文件和.hex文件的区别。

.hex文件是单片机程序编辑完之后常见的文件格式,是内容是ASCLL码,也就是0x00-0xff的字符格式。比如'1'对应的是0x31。任何字符都是有对应的0xXX的 ASCLL码。也就是最常见的text格式。
比如一个hex格式文件的内容为:
30 31 32 33 
表示文本格式的字符“0123”
然而bin文件的格式只有一个字节0-f:一般来讲是机器代码,汇编语言编译后的结果。也就是binary格式的缩写。比如一个bin格式的内容为:
10000000F863002065010008 250A0008DD090008E2
10001000210A0008BF070008 CB18000800000000F4
100020000000000000000000 00000000990F000820

有上面这两者格式的存储方式可以知道,hex文件转变为bin文件后,占用空间会大大降低。

AXF 是ARM芯片使用的 文件格式 ,它包含bin代码外,还包括了调试信息。常见于 手机软件 编译生成的文件中。 AXF 文件相似,经常会用到的是HEX文件,HEX文件包括地址信息,可直接用于烧写或下载HEX文件。
然后明白了讲一下keil中如何生成bin文件。
方法一:首先 keil中如何生成bin文件打开keil的选择,如何所示在run#1中输入如图内容fromelf.exe --bin -o ./obj/sty11.bin ./obj/sty11.axf
sty11.axf中sty11是自己的工程名字,axf是keil自己生产的文件, fromelf.exe是keil自带的转换软件,使用 --bin -o  命令生成 ./obj/sty11.bin文件。 ./obj是相对工程路径名称。
keil中如何生成bin文件

方法一是不是有点麻烦,现在介绍方法二不需要知道工程名字和陆渐就可以实现的万能方法。
方法二:同理在run#1中输入
fromelf.exe --bin -o "$L@L.bin" "#L"
这样也可以有和方法一一样的结果。

最后点编辑成功生成
User command #1: fromelf.exe --bin -o ./obj/sty11.bin ./obj/sty11.axf