原创 Keil MDK 生成BIN 过程

2010-7-15 16:29 6993 4 4 分类: MCU/ 嵌入式



Keil 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 [options] input_file


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


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


选项
 描述
 选项
 描述
 
--help
 显示帮助信息
 --vsn
 显示版本信息
 
--output  file
 输出文件(默认的输出为文本格式)
 --nodebug
 在生成的映象中不包含调试信息
 
--nolinkview
 在生成的映象中不包含段的信息
 --bin
 生成Plain Binary格式的文件
 
--m32
 生成Motorola 32位十六进制格式的文件
 --i32
 生成Intel 32位十六进制格式的文件
 
--vhx
 面向字节的位十六进制格式的文件
 --base addr
 设置m32,i32格式文件的基地址
 
--text
 显示文本信息
 -v
 打印详细信息
 
-a
 打印数据地址(针对带调试信息的映象)
 -d
 打印数据段的内容
 
-e
 打印表达式表print exception tables
 -f
 打印消除虚函数的信
 
-g
 打印调试表print debug tables
 -r
 打印重定位信息
 
-t
 打印字符串表
 -y
 打印动态段的内容
 
-z
 打印代码和数据大小的信息


在掌握了fromelf转换工具的语法格式以后,下面将介绍它在Realview MDK中的使用方法:


1.       新建一个工程,例如lhengheng1217.uv2;


2.       打开Options for Target ‘lhengheng1217’对话框,选择User标签页;


 


3.       构选Run User Programs After Build/Rebuild框中的Run #1多选框,在后边的文本框中输入C:\Keil\ARM\BIN31\fromelf.exe --bin -o ./output/lhengheng1217.bin ./output/lhengheng1217.axf命令行;   这里有个地方容易搞错,那就是fromelf.exe的地址,首先你得Keil不一定装在C盘,先把Keil安装地址改好,其次 Keil UV3 的地址是上面那BIN31文件夹里的地址,但是Keil UV4 下fromelf.exe的地址是


C:\Keil\ARM\BIN40\fromelf.exe --bin -o ./output/lhengheng1217.bin ./output/lhengheng1217.axf


但是一直提示 axf文件路径不对无法打开


4.       重新编译文件,在./output/文件夹下生成了lhengheng1217.bin文件。


经过上述4步的操作以后,将得到我们希望的lhengheng1217.bin格式的文件。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条