keil5生成bin文件配置方法


KEIL / MDK生成BIN文件的两种方式
1 KEIL工程配置入口
点击“魔术棒”图标(Option for Target)



在After Build/Rebuild选项卡中,勾选 "Run # 1",在后面输入框写入bin文件生成方式,见2.1、2.2

2  输出Bin文件配置
KEIL生成bin文件,根据输入命令的相对\绝对路径来分,有两种方式,都是通过自带的fromelf.exe来生成

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

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

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

$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
L.bin 编译后,生成的就是最终的xx.bin文件
3 参考资料
1.原文链接(Keil官方):Key Sequence for Tool Parameters 
http://www.keil.com/support/man/docs/uv4/uv4_ut_keysequence.htm

2.https://blog.csdn.net/veabol/article/details/52318694

 

方式1:不指定路径 - 默认文件夹“Objects”
点击魔术棒"Options for Target" → 单击“User” → 按下面截图所示配置,配置完成后→ 点击"Build"编译 → 生成Bin / Hex文件
复制并输入以下内容

fromelf --bin -o "$L@L.bin" "#L

 

 方式2:指定路径 - 自定义文件夹“HexBin”

3.2.1 编写脚本 - “HexBin.bat”
  • 此脚本要放在 keil工程文件所在目录下


@echo off
::创建输出文件夹 HexBin
if not exist HexBin (mkdir HexBin)
::设置fromelf.exe位置
set exe_location=%~1ARM\ARMCC\bin\fromelf.exe
::设置.axf文件的位置
set obj_location=%2
::获取工程名
set project_name=%3
::设置.axf文件所在目录路径
set obj_path=%4
::设置输出后的文件名
set output_name=%project_name%
::将bin文件生成到HexBin文件夹  >nul屏蔽成功命令
%exe_location% --bin -o .\HexBin\%output_name%.bin %obj_location% >nul
::将hex文件重命名
ren %obj_path%%project_name%.hex %output_name%.hex >nul
::将hex文件复制到HexBin文件夹
move %obj_path%%output_name%.hex .\HexBin >nul

3.2.2 配置 - Options for Target → User
  • 复制并输入以下内容
    .\HexBin.bat $K !L @L $L
    
    
    在这里插入图片描述

Keil生成并指定Bin和Hex文件的存放路径 - 附详细操作图文_keil生成bin文件-CSDN博客

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

After Build - User command #2: C:\Keil_v5\\ARM\ARMCC\bin\fromelf.exe --bin --output=STM3210B-EVAL\STM3210B-EVAL.bin .\STM3210B-EVAL\STM3210B-EVAL.axf

 

 

 

 

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值