w475241512 发表于 2014-3-29 14:23:30

【MCU实战经验】在MDK中如何生成*.bin格式的文件

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

fromelf.exe转换工具的语法格式如下:

fromelf input_file

其中包括的选项及详细描述见表一。


表一 fromelf工具的选项及描述表格



在掌握了fromelf转换工具的语法格式以后,下面将介绍它在Realview MDK中的使用方法:
1:要先能生产可执行文件(即配置Output)


 
test为生成的可执行文件明,(即编译后会生成一个test.axf的文件)生成的bin文件就是从这个文件生成的
 
2:从可执行文件生成.bin文件(即配置User)

D:\Keil\ARM\BIN40\fromelf.exe  --bin -o :命令表示从可执行文件生成bin文件
D:\test\out\test1 .bin   :生产的bin文件的路径和文件名
D:\test \out\test .axf   :可执行文件的路径和文件名
 
编译后即可生产test1.bin文件(注意路径是可变的)

馒头弟 发表于 2015-1-10 22:56:10

这么好的帖子耶(自恋一下:victory:),没人看。:Q

聿怀嘿嘿 发表于 2015-1-10 23:05:33

学习了学习了哈哈、好东西肯定有人看的

QianFan 发表于 2015-1-11 09:50:19

不用写绝对目录,直接写相对目录就行。
./表示当前目录。
../表示上一层目录

Veiko 发表于 2015-1-11 09:58:20

4.72a及以下的版本是可以的,但好像我用512的时候再用这个就不行了,老说版本对不上号了

馒头弟 发表于 2015-1-11 10:06:47

QianFan 发表于 2015-1-11 09:50
不用写绝对目录,直接写相对目录就行。
./表示当前目录。
../表示上一层目录 ...

一看就是linux高手

馒头弟 发表于 2015-1-11 10:07:39

Veiko 发表于 2015-1-11 09:58
4.72a及以下的版本是可以的,但好像我用512的时候再用这个就不行了,老说版本对不上号了 ...

谢谢,我去试试,大伙有方法过来分享一下

QianFan 发表于 2015-1-11 12:53:45

馒头弟 发表于 2015-1-11 10:07
谢谢,我去试试,大伙有方法过来分享一下

只不过是5.12的版本fromelf的路径换了。5.12的路径在这:

D:\Program Files\MDK\ARM\ARMCC\bin

D:\Program Files\MDK是你的安装路径。

xnmc2013 发表于 2015-1-11 13:33:44

先收藏~~~~~~~~~~~~

manxueqian 发表于 2015-1-11 17:07:56

谢谢,有图有真相!
页: [1] 2
查看完整版本: 【MCU实战经验】在MDK中如何生成*.bin格式的文件