keil MDK中如何生成*.bin格式的文件

首先要说明一下.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

祝大家好运!


在Realview MDK的集成开发环境中,默认情况下可以生成*.axf格式的调试文件和*.hex格式的可执行文件。虽然这两个格式的文件非常有利于ULINK2仿真器的下载和调试,但是ADS的用户更习惯于使用*.bin格式的文件,甚至有些嵌入式软件开发者已经拥有了*.bin格式文件的调试或烧写工具。为了充分地利用现有的工具,同时发挥Realview MDK集成开发环境的优势,将*.axf格式文件或*.hex格式文件转换成*.bin格式的文件是十分自然的想法。本文将详细的探讨这种转换方法。

      在Realview MDK中,生成*.bin格式文件的工具是ARM公司的RVCT开发套件中的fromelf.exe。默认安装下,它位于C/:Keil/ARM/BIN40文件夹下。

      下面将介绍它在Keil MDK中的使用方法:
      1. 新建一个工程,例如test.uvproj;
      2. 打开Options for Target ‘target 1’对话框,选择User标签页;
      3. 构选Run User Programs After Build/Rebuild框中的Run #1多选框,在后边的文本框中输入C:/Keil/ARM/BIN31/fromelf.exe --bin -o ./bin/test.bin ./test.axf命令行;步骤2、3可见下图所示。


      4. 重新编译文件,在./bin/文件夹下生成了test.bin文件。
经过上述4步的操作以后,将得到我们希望的test.bin格式的文件。

 

ps:步骤3中的"C:/Keil/ARM/BIN31/fromelf.exe ”也可以通过点击下图红色标注出进入keil安装目录下选择。

 

        以上是很久前写的,对于如何使用fromelf工具,通过上面的示例,想必都能很轻松的生成bin文件,今天补写一下fromelf工具的基本命令:

        --bin:输出二进制文件

        --i32:Intel 32位Hex

        --m32:Motorola 32位Hex

 

         --output <file>:file为输出文件名

         -o<file>:这个是armcc编译器命令,也可用于这里,指定输出文件的名字

 

其它命令可以在Dos中运行fromelf.exe工具,会列出详细命令和用法.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值