文章目录
-
- 一、Keil5安装前核心准备
-
- [1. 硬件与系统要求](#1. 硬件与系统要求)
- [2. Keil5安装包下载](#2. Keil5安装包下载)
- 二、Keil5分步安装教程(附避坑指南)
- 三、Keil5入门:创建第一个STM32工程
-
- 步骤1:新建工程
- 步骤2:添加用户代码文件
- 步骤3:工程配置(核心)
-
- [1. Target选项卡](#1. Target选项卡)
- [2. Output选项卡](#2. Output选项卡)
- [3. Editor选项卡](#3. Editor选项卡)
- 步骤4:编译工程
- 四、Keil5常用操作与技巧
-
- [1. 核心工具栏功能](#1. 核心工具栏功能)
- [2. 解决中文注释乱码](#2. 解决中文注释乱码)
- [3. 调试模式入门](#3. 调试模式入门)
- 五、常见问题与解决方案
-
- [1. 安装时提示"Setup could not find the required files"](#1. 安装时提示“Setup could not find the required files”)
- [2. 工程编译提示"undefined reference to `main'"](#2. 工程编译提示“undefined reference to `main'”)
- [3. 提示"no such file or directory: stm32f10x.h"](#3. 提示“no such file or directory: stm32f10x.h”)
- [4. 烧录时提示"Can not connect to target"](#4. 烧录时提示“Can not connect to target”)
- 六、学习进阶建议
Keil MDK-ARM(简称Keil5)是嵌入式开发领域最主流的ARM架构芯片开发工具,尤其适配STM32系列单片机。本文从 安装前准备 、 分步安装激活 、 环境配置 到 第一个工程创建与编译 ,全程手把手教学,零基础也能快速上手,解决安装报错、激活失败、工程编译异常等常见问题。
一、Keil5安装前核心准备
1. 硬件与系统要求
- 操作系统:Windows 7/10/11(64位,不建议32位系统,部分新版本Keil5不支持);
- 硬盘空间:至少10GB可用空间(含安装包、安装文件、后续工程存储);
- 权限:以管理员身份运行安装程序(避免权限不足导致安装失败);
- 必备工具:Keil5 MDK-ARM安装包(建议V5.38及以上版本)、对应芯片包(如STM32F1系列)、注册机(用于激活,仅学习使用)。
2. Keil5安装包下载
- 官方原版:Keil官网下载MDK-ARM,需注册账号,选择对应版本;
- 快速下载:点击下载
二、Keil5分步安装教程(附避坑指南)
步骤1:运行Keil5安装程序
- 右键下载的Keil5安装包(如
mdk538.exe),选择"以管理员身份运行"; - 弹出"User Account Control"提示时,点击"是";
- 安装向导界面点击"Next",勾选"I agree to the terms of the license agreement",继续"Next"。
步骤2:填写用户信息
- 任意填写Name、Company(如Name:test,Company:none),无需真实信息;
- 点击"Next",进入路径选择界面。
步骤3:选择安装路径(关键避坑)
- Core Path (Keil核心程序路径):建议默认或修改为纯英文路径,如
D:\Keil_v5(不要包含中文、空格、特殊字符,如"D:\凯捷\Keil5"会导致后续编译报错); - Pack Installer Path (芯片包存储路径):默认即可,或与Core Path同目录,如
D:\Keil_v5\ARM\Packs; - 点击"Next",等待程序解压安装(约5-10分钟,视电脑配置而定)。
步骤4:安装Keil5芯片包
Keil5默认仅安装部分通用芯片包,需手动安装目标芯片包:
- 方式1(在线安装):安装完成后打开Keil5,点击工具栏
Pack Installer图标,在右侧"Packs"列表中找到目标芯片(如STM32F1xx),点击"Install",等待下载安装; - 方式2(离线安装):双击下载的芯片包文件(如
STM32F1xx_DFP.2.4.0.pack),自动调用Keil Pack Installer完成安装;
- 验证:安装完成后,在Pack Installer中能看到目标芯片包显示"Installed",说明成功。
步骤5:激活Keil5(解决32KB代码限制)
未激活的Keil5仅支持编译32KB以内的代码,需通过注册机激活:
- 关闭Keil5所有窗口,右键Keil5快捷方式→"以管理员身份运行";
- 点击菜单栏
File→License Management; - 复制"CID"栏的字符串(如C860-XXXX),关闭License Management窗口;
- 右键注册机(如
keygen.exe)→"以管理员身份运行",选择"MDK-ARM"; - 将复制的CID粘贴到注册机"CID"栏,点击"Generate"生成激活码;
- 回到Keil5的License Management窗口,将激活码粘贴到"LIC"栏,点击"Add LIC";
- 验证:下方"Product"栏显示"MDK-ARM","Expiration"显示"Never"(永久),说明激活成功。
激活常见问题解决:
- 激活码无效:确保注册机与Keil版本匹配,且以管理员身份运行注册机;
- CID复制不全:完整复制CID字符串,不要遗漏字符;
- 提示"License server not available":关闭电脑防火墙/杀毒软件,重新激活。
三、Keil5入门:创建第一个STM32工程
以STM32F103C8T6为例,从零创建工程并完成编译,掌握Keil5核心操作流程。
步骤1:新建工程
- 打开Keil5,点击菜单栏
Project→New μVision Project; - 选择工程存储路径(纯英文),输入工程名(如
STM32F103_TEST),点击"Save"; - 弹出"Select Device for Target"窗口,搜索"STM32F103C8",选择对应芯片(如STMicroelectronics→STM32F103C8Tx),点击"OK";
- 弹出"Run-Time Environment"窗口:
- 取消默认勾选的组件(新手暂时无需),点击"Cancel";
- 提示"Add startup code?",点击"Yes"(添加启动文件,必须选Yes,否则工程缺少核心文件)。
步骤2:添加用户代码文件
- 右键工程窗口的
Source Group 1→Add New Item to Group 'Source Group 1'; - 选择"C File (.c)",输入文件名(如
main),点击"Add",生成main.c文件; - 双击
main.c,输入基础测试代码:
c
#include "stm32f10x.h" // 包含STM32F1系列头文件
int main(void)
{
// 空主函数,仅用于测试工程编译
while(1)
{
}
}
步骤3:工程配置(核心)
点击工具栏"魔法棒"图标(Options for Target),配置关键参数:
1. Target选项卡
晶振频率(HSE-Value):改为8000000(STM32F103外部晶振默认8MHz);Stack Size/Heap Size:默认即可,新手无需修改。
2. Output选项卡
Output Folder:点击...选择自定义路径(如./Output),存放编译产物;- 勾选
Create HEX File(生成可烧录的HEX文件); - 保留
Debug Information(开发阶段用于调试)。
3. Editor选项卡
Encoding:选择UTF-8(解决中文注释乱码问题)。
步骤4:编译工程
- 点击工具栏
Build(编译,仅编译修改的文件)或Rebuild(重新编译所有文件); - 查看下方"Build Output"窗口:
- 显示"0 Error(s), 0 Warning(s)":编译成功;
- 若提示错误,检查代码语法、芯片包是否安装、启动文件是否添加。
- 验证:在Output文件夹中能看到
STM32F103_TEST.hex文件,说明编译产物生成成功。
四、Keil5常用操作与技巧
1. 核心工具栏功能
| 图标 | 功能 | 快捷键 |
|---|---|---|
| Build | 编译当前工程 | F7 |
| Rebuild | 重新编译所有文件 | - |
| Download | 下载程序到芯片(需连接仿真器) | F8 |
| Debug | 进入调试模式 | Ctrl+F5 |
2. 解决中文注释乱码
- 工程配置→Editor→Encoding选择
UTF-8; - 若仍乱码,右键代码文件→
Open With→Editor,在编辑器中重新保存为UTF-8格式。
3. 调试模式入门
- 连接J-Link/ST-Link仿真器到电脑和开发板;
- 点击工具栏
Debug进入调试模式; - 常用调试操作:
Step(F11):单步执行代码;Run(F5):全速运行;Stop(Ctrl+F5):停止调试;- 右侧"Watch & Call Stack Window":添加变量监控,查看实时值。
五、常见问题与解决方案
1. 安装时提示"Setup could not find the required files"
- 原因:安装包损坏或下载不完整→重新下载官方原版安装包;
- 补充:关闭杀毒软件,避免安装包被误删。
2. 工程编译提示"undefined reference to `main'"
- 原因:未添加
main.c文件,或main函数拼写错误(如写成Main)→检查文件是否添加、函数名是否正确。
3. 提示"no such file or directory: stm32f10x.h"
- 原因:未安装STM32F1芯片包→重新安装对应芯片包,或在Pack Installer中确认已安装。
4. 烧录时提示"Can not connect to target"
- 原因:仿真器驱动未安装、开发板未上电、接线错误→安装仿真器驱动(如ST-Link V2驱动),检查硬件连接。
六、学习进阶建议
- 熟悉工程目录结构:掌握
startup_stm32f10x_md.s(启动文件)、stm32f10x_conf.h(配置文件)的作用; - 学习标准库/HAL库:STM32F1推荐先学标准库,掌握GPIO、串口、定时器等基础外设配置;
- 调试技巧:学会使用断点、变量监控,定位代码逻辑错误;
- 规范工程:按"Inc(头文件)/Src(源文件)/Lib(库文件)"划分目录,提升代码可读性。
总结
- Keil5安装核心是管理员权限+纯英文路径+匹配芯片包+正确激活,避开中文路径、安装包损坏、激活码错误等坑;
- 入门工程创建需完成"新建工程→添加文件→配置参数→编译"四步,重点勾选生成HEX文件、添加启动文件;
- 编译报错优先检查芯片包、文件路径、代码语法,调试问题优先排查仿真器驱动和硬件连接。
掌握本文的安装和入门流程,即可完成Keil5环境搭建和基础工程开发,后续可逐步学习外设驱动、中断、通信协议等进阶内容,深入STM32开发。