keiluvision4 也就是大家常说的 Keil uVision4,是针对 51 单片机和 ARM 内核单片机的集成开发环境,核心用途就是编写 C 语言或者汇编代码,完成工程管理代码编译程序下载仿真调试整套开发流程,很多初学单片机的人第一步就是学会这个软件,它把编辑器编译器链接器调试器整合在同一个界面,不用分开打开多个工具,之所以新手容易卡在使用环节,是因为它需要提前安装对应芯片的器件包,新建工程的时候要正确选择单片机型号,编译前还要配置输出 hex 文件,这几步只要选错,后面就会编译报错或者下载失败,掌握完整流程之后,就可以独立完成从写代码到生成可烧录程序的全部操作。
软件前期准备
安装与组件说明
Keil uVision4 本身分 MDK 版本和 C51 版本,C51 版本专门用于 8051 内核单片机,MDK 版本支持 ARM 内核芯片,两个版本不能通用,安装完成之后,需要确认已经添加对应芯片器件库,如果新建工程找不到目标芯片,就是缺少器件包,需要单独安装芯片支持包。
硬件准备
需要准备单片机开发板,还有对应的下载工具,常见有 STC 下载器 JLINK 或者 ULINK,电脑安装下载驱动,数据线连接电脑和下载器,下载器再连接单片机开发板。
完整操作步骤
第一步 新建工程
打开 Keil uVision4 软件,点击顶部菜单栏 Project,选择 New uVision Project,在弹出窗口选择保存位置,工程文件夹路径尽量不要带中文空格特殊字符,给工程命名,保存之后立刻弹出芯片选择窗口,根据自己的单片机型号找到对应的系列,选中芯片确认,之后会弹出是否启动 Startup 启动文件,ARM 芯片一般选择是,51 芯片按需选择。
第二步 添加源码文件
工程建立完成之后,在左侧 Project 工程窗口,找到 Source Group1,右键点击这个分组,选择 Add New Item to Group,新建 C 文件,后缀写 c,命名之后添加到工程,也可以把已经写好的外部 c 文件 h 文件添加进来,双击打开新建的 c 文件,就可以在编辑区编写单片机代码。
第三步 工程选项配置
点击魔术棒图标也就是 Options for Target,这是最关键的配置页面,里面有多个标签页,重点配置下面几项
Target 标签,设置晶振频率,填写单片机实际外接晶振数值,常用是 11.0592M 或者 12M
Output 标签,勾选 Create HEX File,这个选项必须打开,编译之后才会生成可以烧录的 hex 程序文件
Debug 标签,选择仿真调试方式,如果使用硬件仿真器就选 ULINK 或者 JLINK,如果只做软件模拟仿真就选 Simulator
Utilities 标签,设置下载算法,选择对应的芯片 Flash 下载算法
第四步 编译构建工程
点击顶部 Build 图标,也就是编译按钮,或者 Rebuild all 全部重新编译,软件底部 Build Output 窗口会输出编译信息,如果出现 error 就是错误,warning 是警告,error 必须修改代码,警告可以根据情况处理,编译成功之后,就会在工程输出目录得到 hex 文件。
第五步 仿真调试
点击 Debug 菜单里面 StartStop Debug Session,进入调试模式,此时可以单步运行,设置断点,查看寄存器变量内存的值,软件仿真不需要硬件,硬件仿真需要接好仿真器,实时观察单片机运行状态。
第六步 程序下载
退出调试模式,在 Utilities 或者专门下载界面,加载编译生成的 hex 文件,选择正确端口,点击下载,等待下载完成,开发板复位之后程序就开始运行。
界面主要功能分区
| 区域名称 | 主要作用 |
|---|---|
| 左侧 Project 窗口 | 管理工程文件分组,查看源文件头文件启动文件 |
| 中间编辑区 | 代码编写编辑,支持语法高亮 |
| 底部 Build Output 窗口 | 显示编译报错警告信息 |
| 魔术棒 Options 窗口 | 工程全局参数配置核心入口 |
| Debug 调试窗口 | 寄存器变量内存断点调试查看 |
常见报错处理要点
第一 找不到芯片型号,原因是器件包没有安装,需要补充对应芯片支持包
第二 编译提示未定义函数,一般是头文件没有包含,或者源文件没有添加进工程分组
第三 编译成功但是没有 hex 文件,是 Output 标签没有勾选 Create HEX File
第四 下载失败,检查驱动下载器接线晶振配置芯片型号是否匹配
第五 中文路径报错,工程保存路径改成纯英文目录
进阶使用技巧
可以在工程里面建立多个 Source Group 分组,把驱动代码主程序头文件分类存放,大型项目方便管理,支持代码断点条件调试,支持查看外设寄存器,还可以配置宏定义,在编译选项里面添加全局宏,方便一套代码适配不同版本硬件。
学会 keiluvision4 的核心就是掌握新建工程选芯片,添加源码,魔术棒配置,编译生成 hex,下载调试这一套主线流程,新手优先做一个最小点灯实验,完整跑通一次流程,后续再学习复杂外设代码开发就会顺畅很多。
【常见问题】
问题 1 keiluvision4 怎么找不到对应的单片机型号
回答 1 keiluvision4 找不到单片机型号,是因为缺少对应芯片器件支持包,C51 和 MDK 版本要区分,安装匹配版本之后补充芯片包,重启软件再打开新建工程窗口就可以检索到目标芯片。
问题 2 keiluvision4 编译之后为什么没有 hex 文件
回答 1 keiluvision4 编译之后没有 hex 文件,绝大多数情况是魔术棒 Options for Target 里面 Output 标签,没有勾选 Create HEX File 选项,勾选之后重新 Rebuild all 编译,就会在输出文件夹生成 hex 程序文件。
问题 3 keiluvision4 可以同时支持 51 和 ARM 单片机吗
回答 1 keiluvision4 不同安装包功能分开,单独 C51 版本只支持 51 单片机,MDK 版本支持 ARM 内核单片机,想要同时开发两类芯片,需要分开安装对应版本,不能依靠同一个安装包同时兼容全部芯片。
问题 4 keiluvision4 工程路径可以使用中文吗
回答 1 keiluvision4 不推荐工程路径使用中文,中文空格特殊路径经常引发编译异常文件读取失败,新建工程的时候建议全部使用英文路径英文文件名,减少未知报错。
【免责申明】
本内容为 keiluvision4 软件操作学习参考,软件不同版本补丁界面细节可能存在差异,芯片下载驱动和下载算法需要以芯片厂商官方说明为准,操作过程涉及硬件烧录,请确认芯片型号和电压,错误配置可能造成硬件异常,本教程不承担硬件损坏相关责任。
