在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]包括的选项及详细描述如下。
命令选项如下:
--help 显示帮助信息
--vsn 显示版本信息
--output file 输出文件(默认的输出为文本格式)
--nodebug 在生成的映象中不包含调试信息
--nolinkview 在生成的映象中不包含段的信息
二进制输出格式:
--bin 生成Plain Binary格式的文件
--m32 生成Motorola 32位十六进制格式的文件
--i32 生成Intel 32位十六进制格式的文件
--vhx 面向字节的位十六进制格式的文件t
--base addr 设置m32,i32格式文件的基地址
--text 显示文本信息
文本信息的标志
-v 打印详细信息
-a 打印数据地址(针对带调试信息的映象)
-d 打印数据段的内容
-e 打印表达式表print exception tables
-f 打印消除虚函数的信息
-g 打印调试表print debug tables
-r 打印重定位信息
-s 打印字符表
-t 打印字符串表
-y 打印动态段的内容
-z 打印代码和数据大小的信息
在掌握了fromelf转换工具的语法格式以后,下面将介绍它在Realview MDK中的使用方法:
1.新建一个工程,例如test.uvproj;
2.打开Options for Target ‘test’对话框.
3.选择User标签页;构选
Run User Programs After Build/Rebuild框中的Run #1多选框,在后边的文本框中输入
D:\Program C:\Keil\ARM\BIN40\fromelf.exe --bin --output ./obj/test.bin ./obj/test.axf
红色部分为fromelf.exe的绝对地址,根据自己的实际情况填写,我的keil是默认安装在C盘的。
蓝色部分为选项,不用更改。
绿色部分是生成的bin文件路径及文件名,我设置为工程根目录下的obj方件夹,文件名为test.bin。
橙色部分为axf文件的路径,根据实际情况设置,我的是在obj文件夹下。
4.重新编译文件,在工程根目录下生成了test.bin文件。