大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
如何利用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) | |
K | keil develop chaintool 工具链(fromelf.exe) |
L |
Linker output file |
更多的符号代号可参考原文链接(Keil官方):Key Sequence for Tool Parameters
http://www.keil.com/support/man/docs/uv4/uv4_ut_keysequence.htm
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/179857.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...