MDK中bin文件的生成

如何利用KEIL生成bin文件并且用于固件更新?

  • 生成bin文件

KEIL在编译完成后在Object目录下生成axf文件,我们可以使用fromelf工具将axf文件转化为bin文件。

在User选项卡中可以看到如果勾选了Run#1选项,那么在编译完成之后(After Build/Rebuild),就会执行该选项下的命令。接下来详细的探讨利用 fromelf.exe 转换工具是如何生成bin文件的。

在如何实现生成bin文件之前,首先应该先了解fromelf.exe 转换工具的语法,其格式如下:fromelf  [options] file,其中options包括的选项及详细描述见下表:

在了解语法的基础上,KEIL生成bin文件要根据输入命令的相对\绝对路径来分,有两种方式:

绝对路径方式

绝对路径方式,如果更换电脑等,需要手动修改MDK工具链(formelf.exe)所在路径与项目文件名(例如test_app)

"D:\Program Files\MDK516\ARM\ARMCC\bin\fromelf.exe" --bin -o ./obj/test_app.bin ./obj/test_app.axf"

相对路径方式

使用相对路径生成,则不需要任何修改

$K\ARM\ARMCC\bin\fromelf.exe --bin --output=@L.bin !L 


编译后,Build Out框可以看到: 
After Build - User command #1: D:\Program Files\MDK516\ARM\ARMCC\bin\fromelf.exe --bin --output=test1.bin .\obj\test1.axf

上述操作后,在xxx.uvprojx当前目录下,可看到一个test1.bin

如果希望生成.bin文件输出在当前工程下的指定目录,比如Bin文件夹,可如下操作:

$K\ARM\ARMCC\bin\fromelf.exe --bin --output=Bin\@L.bin !L 


编译后,Build Out框可以看到: 
After Build - User command #1: D:\Program Files\MDK516\ARM\ARMCC\bin\fromelf.exe --bin --output=Bin\test1.bin .\obj\test1.axf

上述操作后,在xxx.uvprojx当前目录下,可看到一个新生成的Bin文件夹,里面是test1.bin。在命令中使用的符号代号如下:

符号代号(Key Code) 
扩展为 指定文件的路径名

表示 Output -> Name of Exectable:定义的工程名,比如test1

build工程后,最终生成的bin文件名称将是test1.bin

当前目录下的扩展路径
!L 编译(Build)后,就是 .\obj\xx.axf文件
文件代号(File Code) 
Kkeil develop chaintool 工具链(fromelf.exe)
L

Linker output file
L.bin 编译后,生成的就是最终的xx.bin文件

更多的符号代号可参考原文链接(Keil官方):Key Sequence for Tool Parameters

http://www.keil.com/support/man/docs/uv4/uv4_ut_keysequence.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值