keil如何生成hex文件:基础配置步骤
keil如何生成hex文件,核心是在工程选项里开启HEX输出,编译成功后自动生成文件,该操作适配KeilMDK4、MDK5版本,只针对ARM、C51内核单片机工程,纯库文件工程、无启动文件的空工程无法输出hex,你打开目标工程,进入TargetOptions窗口,勾选CreateHEXFile选项,确认输出路径,再执行Rebuild,就能在工程目录里得到hex文件。
keil生成hex文件的选项配置
你右键工程窗口里的Target名称,点击OptionsforTarget,也可以直接点击工具栏的魔术棒图标打开配置面板,切换到Output标签页,找到CreateHEXFile复选框,勾选这个选项,勾选之后必须确认Hex文件的输出目录,默认会放在工程同目录下,也可以点击SelectFolder指定自定义文件夹,自定义路径不要包含中文、空格、特殊字符,否则部分版本会出现生成失败、文件空白的情况。
HEX格式默认是IntelHEX,这是单片机烧录工具通用格式,面板里的Browse按钮用来预览生成后的文件名称,文件名默认和Target名称保持一致,你可以修改Target名称间接修改hex文件名,不要在Output标签页直接修改后缀,避免格式出错。
keil生成hex文件的编译操作
配置完成后,点击OK保存设置,不要用Compile单文件编译,Compile只编译当前打开的源文件,不会链接生成可执行文件,自然无法输出hex。
用Rebuildalltargetfiles执行全工程编译链接,编译窗口的BuildOutput信息栏,没有Error、仅存在不影响链接的Warning时,代表编译通过,hex文件同步生成,你可以在设置好的输出文件夹里找到后缀为.hex的文件。
有报错,hex不会生成。
keil生成hex文件的两种常见方案对比
| 方案 | 操作方式 | 适用场景 | 特点 |
|---|---|---|---|
| 内置勾选输出 | Output勾选CreateHEXFile | 常规开发、调试烧录 | 一步配置,编译自动生成,操作简单 |
| fromelf命令转换 | 编译生成axf后调用命令转hex | 需要自定义hex地址、分段处理 | 灵活性更高,适合复杂分区工程 |
fromelf方案需要在User标签页添加运行命令,命令格式参考fromelf--i32-otest.hextest.axf,这个方式适合需要裁剪镜像、调整存储地址的工程,新手优先使用勾选输出的方案,减少额外命令配置带来的语法错误。
该方法的适用边界是,KeilMDK必须已经安装对应芯片的器件支持包,芯片包缺失时,即便勾选生成选项,链接阶段也会报错,无法产出hex文件,51内核的KeilC51版本逻辑一致,只是配置面板布局略有区别,同样在Output页面开启HEX输出。
生成后的hex文件可以直接用烧录软件下载到单片机,不要直接用记事本修改hex内容,修改字节容易破坏校验和,导致烧录校验失败,文件校验信息可以通过烧录工具自带的校验功能核对。
