使用过Keil的同鞋都知道,现在Keil中默认可以输出.axf的调试文件和可以通过钩选输出的.hex可执行文件,没有bin(二进制)文件的输出选项。可是偏偏某些时候需要或者习惯性的使用.bin文件来进行烧写,下面各举一例: 1. 一直使用ADS的用户习惯性的使用.bin文件; 2. 某些烧写器带的应用软件只支持.bin文件; 3. 正如笔者遇到的情况,我在使用 STM32公司提供的网络更新固件程序的例程时,需要用到.bin文件(.hex文件通过网络更新后遇到某些问题,而且用Hex2Bin软件转换后的也不行)。 其实Keil也自带了工具软件,只要进行适当配置便可以输出bin文件了,不过在介绍具体方法前,请仔细阅读下面这一段关于Keil中自带的fromelf.exe工具说明: 该工具的语法为:fromelf [options] input_file 其中options中的选项及说明如下: 命令选项格式
命令 | 说明 | --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 打印表达式表 -f 打印消除虚函数的信息 -g 打印调试表 -r 打印重定位信息 -s 打印字符表 -t 打印字符串表 -y 打印动态段的内容 -z 打印代码和数据大小信息 |
讲完了工具的语法,下面就讲如何在Keil中运用该自带的工具,以使在工程编译后能生成.bin格式的文件: 1. 打开一个建好的工程文件,就不举例说明了。 2. 打开OptionsforTarget ‘工程名称’对话框,可直接点图标,如下图: 3. 选择User标签页,并进行如下图一样的配置: 4. 根据User页的配置还要配置Output页面,具体如下: 5. 点击OK确定,然后再重新编译则会按照上图中的配置路径生成.bin格式的文件了: 摘自:http://forum.eepw.com.cn/thread/225710/1/
|