Keil自动生成bin文件配置的简化程序

本文介绍了一个简化程序,用于自动将Keil编译后的.axf文件转换为.bin格式,通过配置Hex2BinConfig.exe,实现从elf到bin的快速转换,适用于嵌入式开发。

自己使用的一个简化程序,
原理就是使用fromelf.exe程序,将.axf转化为.bin文件。程序的作用是简化复杂的参数填写。

下载路径:https://download.youkuaiyun.com/download/neo_wordsworth/11612149

使用步骤
1.添加fromelf.exe路径
打开配置主程序Hex2BinConfig.exe,拖拽keil目录(或者fromelf.exe)进入。(程序路径一般为Keil目录下的ARM\ARMCC\bin\)


2.添加axf文件的相对路径(相对于工程目录)
点击“生成”按钮进入相对路径添加界面,分别拖拽 工程目录(如USER目录) 和 输出目录(如OBJ目录)  进入界面,自动生成相对路径,点击保存。

3.配置keil
保存内容,复制程序路径,并粘贴入Run User Programs After Build/Rebuild框中

以上步骤只需要第一次使用配置,
只要工程目录不变,以后只需要在keil中添加 复制的路径就可以在编译后自动生成bin文件。

错误提示
一些错误会有中文的异常抛出提示,如:fromelf.exe路径设置不正确

<think>我们正在讨论如何在Keil uVision中生成bin文件。根据引用内容,Keil提供了fromelf.exe工具来生成bin文件,该工具位于Keil安装目录下的ARM\ARMCC\bin文件夹中。用户需要在Keil的项目设置中进行配置,使得在编译后自动运行该工具生成bin文件。具体步骤:1.打开Keil工程,点击菜单栏的“Optionsfor Target”(魔术棒图标)。2.在弹出的对话框中,选择“User”选项卡。3.在“AfterBuild/Rebuild”部分,勾选“Run #1”(有的版本可能是“RunUser ProgramsAfter Build/Rebuild”下的某个选项)。4.在“Run #1”后面的文本框中输入命令,命令格式为:`fromelf.exe的路径 --bin -o "输出路径\文件名.bin" "输入文件路径"`其中:- fromelf.exe的路径:需要替换为实际路径,如引用[3]中的`E:\GONGYONG\ARM\ARMCLANG\bin\fromelf.exe`-输出路径和文件名:通常使用Keil的变量,如`"$L@L.bin"`,其中`$L`表示输出目录,`@L`表示目标名(即工程名)-输入文件:使用`"#L"`,它代表当前工程生成的.axf文件(即ELF格式文件)因此,常用的命令格式为:`fromelf.exe的路径 --bin -o "$L@L.bin""#L"`5.注意:如果Keil安装路径中有空格,建议使用双引号将fromelf.exe的路径括起来。另外,也可以将fromelf.exe所在的目录添加到系统环境变量中,这样就不需要写全路径,直接写`fromelf`即可。6.配置完成后,重新编译工程,在编译输出窗口中会看到运行fromelf.exe的命令,如果成功,则会在输出目录(一般是Objects文件夹)下生成与工程同名的bin文件。注意:不同版本的Keil,fromelf.exe可能位于不同的子目录下,如ARMCC或ARMCLANG。需要根据实际安装情况调整路径。下面是一个示例配置(假设Keil安装在E:\Keil_v5,工程名为Test):在Run#1中输入:"E:\Keil_v5\ARM\ARMCC\bin\fromelf.exe"--bin-o"$L@L.bin""#L"或者,如果已经将fromelf.exe所在目录加入环境变量,可以简写为:fromelf --bin -o "$L@L.bin""#L"重新编译后,会在工程的Objects目录下生成Test.bin。如果用户使用的是ARM Compiler6(AC6),则fromelf.exe可能位于ARMCLANG目录下,例如:"E:\Keil_v5\ARM\ARMCLANG\bin\fromelf.exe"--bin-o"$L@L.bin" "#L"如果用户不确定路径,可以在Keil安装目录下搜索fromelf.exe。此外,引用[2]和[4]中提到的命令格式是相同的,只是路径可能需要根据实际情况调整。因此,总结步骤:1.找到Keil安装目录下的fromelf.exe的完整路径。2.在Keil的Optionsfor Target-> User->Run #1中填入命令。3.重新编译工程,生成bin文件。注意:如果生成失败,请检查命令中的路径是否正确,以及是否使用了正确的变量($L@L.bin和#L)。另外,注意Keil的输出窗口是否有错误提示。相关问题:1.如何验证生成bin文件是否正确?2.除了bin文件,fromelf工具还能生成哪些格式的文件?3.在Keil中如何配置生成hex文件?4.如何将bin文件下载到STM32中?</think>### Keil uVision 生成.bin文件完整指南 在Keil uVision中生成.bin文件是通过配置构建后命令实现的,以下是详细步骤: #### 📌 步骤1:定位fromelf.exe工具 1. 打开Keil安装目录(默认路径:`C:\Keil_v5`) 2. 导航到编译器工具路径: - ARMCC编译器:`ARM\ARMCC\bin\fromelf.exe` - ARMCLANG编译器:`ARM\ARMCLANG\bin\fromelf.exe` > 提示:新版本Keil默认使用ARMCLANG编译器[^1] #### 📌 步骤2:配置Keil工程 1. 打开目标工程 2. 点击魔术棒图标 → **Options for Target** 3. 切换到 **User** 选项卡 4. 勾选 **Run #1** 选项 5. 在命令框输入: ```bash "<你的fromelf路径>" --bin -o "$L@L.bin" "#L" ``` 示例(ARMCLANG): ```bash "C:\Keil_v5\ARM\ARMCLANG\bin\fromelf.exe" --bin -o "$L@L.bin" "#L" ``` #### 📌 参数说明 | 参数 | 作用 | 示例值 | |------|------|--------| | `--bin` | 指定输出bin格式 | 固定 | | `-o` | 指定输出路径 | | | `"$L@L.bin"` | 输出文件名 | 自动生成`工程名.bin` | | `"#L"` | 输入文件(ELF) | 自动定位当前工程输出 | #### 📌 验证配置 1. 重新编译工程(点击 **Rebuild**) 2. 查看Build Output窗口: ```log After Build - User command #1: fromelf.exe --bin -o "./Objects/test.bin" "./Objects/test.axf" ``` 3. 在工程目录的 **Objects** 文件夹中查找`.bin`文件 #### 💡 高级技巧 1. **自定义输出路径**: ```bash "fromelf.exe" --bin -o "D:\output\@L.bin" "#L" ``` 2. **同时生成反汇编文件**: ```bash "fromelf.exe" --bin -o "$L@L.bin" --text -c "#L" > "$L@L.dis" ``` 3. **环境变量简化路径**: ```bash %KEIL_PATH%\ARM\ARMCLANG\bin\fromelf.exe --bin -o "$L@L.bin" "#L" ``` #### ⚠️ 常见问题解决 - **路径包含空格**:使用双引号包裹完整路径 ```bash "C:\Program Files\Keil_v5\ARM\ARMCLANG\bin\fromelf.exe" ... ``` - **提示"fromelf not found"**:检查编译器类型(ARMCC vs ARMCLANG) - **生成文件为空**:确认工程编译成功生成`.axf`文件 > 注意:此配置对STM32全系列(F1/F4/H7等)均适用[^4]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值