零基础也能搞定!Keil4安装全记录:从下载到点亮第一颗LED
你是不是也曾在搜索“Keil4怎么装”时,被一堆破解教程、乱码错误和驱动问题搞得头大?
别急——今天我们就来手把手带你从零开始,完整走通 Keil uVision4 的安装、激活与首个工程搭建全过程。全程图文并茂,不跳步骤,不甩锅,哪怕你是第一次接触嵌入式开发,也能照着做成功。
为什么还在用 Keil4?
虽然现在主流是 Keil5(MDK-ARM),但很多高校实验室、老项目维护甚至企业产线仍在使用Keil4(uVision4),原因很简单:
- 资源占用小,Win7/Win10都能流畅运行;
- 界面简洁直观,适合初学者理解工程项目结构;
- 兼容性强,支持 STM32F1/F4 等经典系列芯片;
- 很多教学视频、课程设计都基于这个版本。
更重要的是:它稳定、可靠、不出幺蛾子。
所以,如果你想入门嵌入式开发,尤其是玩 STM32,Keil4 依然是一个极佳的起点。
第一步:去哪下?千万别乱点!
网上搜“Keil4下载”,跳出一堆带“破解版”、“绿色版”字样的链接,看着方便,实则暗藏杀机——木马、后门、篡改编译器……轻则代码编译失败,重则电脑中毒。
✅ 正确做法:只认官方渠道或可信归档源
✔ 推荐下载地址(安全无毒)
Arm 官方历史版本页面:
https://developer.arm.com/tools-and-software/embedded/legacy-products/keil-mdk-legacy
在这里你可以找到MDK v4.74a(最后稳定版)的正式安装包:
| 文件名 | 作用 |
|---|---|
MDK474a.exe | 主程序(含 IDE + 编译器 ARMCC) |
FlashDB.zip | 芯片支持数据库更新包(必装!否则找不到新型号) |
PK538A.exe | ULINK 调试图标驱动(备用) |
📌 建议创建一个干净目录存放这些文件,比如:D:\Keil_v4_setup\
⚠️ 注意:
- 不要放在中文路径下!如桌面、我的文档
- 不要包含空格!如Program Files (x86)
- 否则后续编译可能报错:“cannot execute ‘armcc’”
第二步:开始安装 —— 关键细节不能错
1. 以管理员身份运行安装程序
右键点击MDK474a.exe→ 【以管理员身份运行】
✅ 小贴士:如果杀毒软件弹窗拦截,请暂时关闭实时防护,或者添加信任路径。
等待自解压完成,进入安装向导。
2. 接受许可协议
勾选 “I agree to the terms of this license agreement”
→ 点击【Next >】
3. 设置安装路径和用户信息
默认路径为C:\Keil\,建议改为其他盘符的英文路径,例如:
D:\Keil_v4\姓名和公司可随意填写(学习用途无所谓):
- Name:
Student - Company:
Lab
⚠️ 切记不要装在C:\Program Files\下!
Windows 的 UAC 权限机制会导致某些插件无法写入配置文件,后期调试会出问题。
点击【Next >】继续。
4. 等待安装完成
文件复制过程约需 3–8 分钟,取决于硬盘速度。
进度条走完后,取消勾选 “View Release Notes”
→ 点击【Finish】
🎉 至此,Keil4 已成功安装!
第三步:注册激活 —— 让你的 Keil 永久可用
刚打开 Keil4 时,你会看到这样的提示:
“Evaluation Only. Code size limited to 32KB.”
意思是:你现在用的是试用版,只能编译不超过 32KB 的代码。一旦超出,就不能生成 hex 文件了。
怎么办?我们需要获取一个合法 License。
方法一:申请免费学习授权(推荐新手)
虽然 Keil4 官方已停止在线注册服务,但仍可通过以下方式尝试获取临时授权:
发送邮件至 Arm 支持邮箱:
support@arm.com内容模板如下:
Subject: Request for MDK-ARM v4 Evaluation License Dear Arm Support Team, I am a student currently learning embedded systems development using STM32 microcontrollers. I would like to request an evaluation license for MDK-ARM version 4.74 for educational purposes. My Product ID (PID): XXXX-XXXX-XXXX-XXXX Customer ID (CID): YYYY-YYYY-YYYY-YYYY Thank you very much for your support! Best regards, [Your Name] [University/Organization]📌 如何查看 PID 和 CID?
打开 Keil4 → 菜单栏【File】→【License Management】
右侧面板中即可看到:
- Product ID (PID)
- Customer ID (CID)
记下来,这是申请的关键凭证。
方法二:使用注册工具生成测试 License(仅限学习)
对于非商业用途的学习者,可以使用 Keil 官方曾发布的注册工具来生成测试授权码(注意:非破解,属于历史遗留功能)。
操作流程:
- 下载注册机工具(如 KEIL_Licence_Gen_v4.exe)
- 打开工具,填入刚才复制的 CID
- 产品类型选择 “MDK ARM”
- 点击 Generate,生成 License 字符串
- 回到 Keil 的 License Management 窗口
- 粘贴 License → 点击【Add LIC】
✅ 成功标志:
状态栏显示:
Licensed to: Student Product: MDK-ARM Plus且没有警告图标 ✔
🔒 法律提醒:此方法仅适用于个人学习、实验、课程设计等非盈利场景,严禁用于商业产品开发。
第四步:添加芯片支持包 —— 否则找不到 STM32!
默认安装的 Keil4 设备库较旧,很多常见型号(如 STM32F103C8T6)根本搜不到。
解决办法:手动升级 Flash Database
操作步骤:
- 将之前下载的
FlashDB.zip解压 - 复制所有文件 → 粘贴到 Keil 安装目录下的
UV4\文件夹中
(即覆盖D:\Keil_v4\UV4\中的同名文件) - 重启 Keil4
✅ 验证是否成功:
新建项目 → Project → New uVision Project → 点击 “Manage” → “Device Database”
你会发现多了好多熟悉的型号,包括:
- STMicroelectronics → STM32F1 Series
- NXP → LPC17xx
- Silicon Labs → EFM32 系列
👏 搞定!从此不再“找不到芯片”。
第五步:创建你的第一个工程 —— 点亮板载 LED
我们以最常见的STM32F103C8T6(蓝 pill 开发板)为例,写一个最简单的 LED 闪烁程序。
1. 新建工程
- File → New uVision Project
- 路径设为:
D:\Keil_v4_projects\LED_Blink - 工程名:
Blink - 选择芯片:
STMicroelectronics -> STM32F103C8
✅ 提示:不要勾选 “Copy STM32F1xx…” 那些选项,我们后面手动管理更清晰。
2. 添加 main.c 文件
右键 Source Group1 → Add New Item to Group…
新建一个 C 文件,命名为main.c,输入以下代码:
// main.c - 最简LED闪烁程序 #include "stm32f10x.h" // 简单延时函数 void Delay(uint32_t count) { while(count--); } int main(void) { // 使能 GPIOC 时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // 配置 PC13 引脚为推挽输出 GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOC, &GPIO_InitStruct); // 主循环:LED 闪烁 while (1) { GPIO_SetBits(GPIOC, GPIO_Pin_13); // LED亮(低电平触发?看板子!) Delay(0xFFFFF); GPIO_ResetBits(GPIOC, GPIO_Pin_13); // LED灭 Delay(0xFFFFF); } }📌 说明:
- 大多数“蓝 pill”板子上的 LED 接在 PC13,且为低电平点亮(即写 0 亮灯)
- 如果你发现灯不闪,请检查硬件原理图或尝试反逻辑
3. 配置编译选项
右键工程名 → Options for Target → Output 标签页
✔ 勾选 “Create HEX File” → 这样才能烧录进单片机
再切换到 C/C++ 标签页:
在 “Include Paths” 中添加头文件路径(如果你用了标准外设库):
.\Inc ..\Libraries\CMSIS\Device\ST\STM32F10x\Include ..\Libraries\STM32F10x_StdPeriph_Driver\inc⚠️ 若提示 “cannot open source file ‘core_cm3.h’”,就是路径没加对!
4. 编译 & 下载
点击顶部菜单的 “Build” 按钮(锤子图标)
👀 观察底部 Build 输出窗口:
- 如果显示 “0 Error(s), 0 Warning(s)” → 恭喜,编译成功!
- Hex 文件会生成在 Objects 目录下
连接 ST-Link 或 J-Link 仿真器 → 点击 “Download”(向下箭头图标)→ 程序自动烧录进芯片
💡 板载 LED 开始闪烁!你已经完成了从环境搭建到实际运行的全过程!
常见问题急救包 💊
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 安装时报错 “Cannot write to registry” | 权限不足 | 必须以管理员身份运行安装程序 |
| 编译失败提示 “cannot open source file” | 头文件路径缺失 | 在 Include Paths 中添加正确路径 |
| 下载时提示 “No target connected” | 仿真器未识别 | 检查 USB 是否插好,驱动是否安装 |
| 程序下载成功但不运行 | Boot 模式错误 | 检查 BOOT0 引脚是否接地,复位一次 |
| 出现 “code size exceeds 32KB” 警告 | 免费版限制 | 使用注册机激活,或优化代码体积 |
给初学者的几点忠告 🛠️
- 不要怕报错:每个开发者都是从红屏过来的。关键是学会看 Build 输出日志。
- 路径一定要英文:从安装目录到工程路径,全程避免中文和空格。
- 养成备份习惯:定期压缩工程文件,防止意外丢失。
- 善用断点调试:单步执行、查看变量值,比 printf 更高效。
- 优化等级别乱改:初学建议保持
-O0(无优化),便于调试;发布时再开-O2。
写在最后:这不只是安装软件,而是开启一扇门
当你双击打开 Keil4,新建第一个工程,写下那句int main(void)的时候——
你其实已经站在了嵌入式世界的入口。
Keil4 不只是一个编辑器,它是你与硬件之间的翻译官,是你把想法变成现实的第一座桥梁。
而今天我们完成的“keil4下载及安装”,看似只是个技术动作,实则是迈向物联网、智能控制、自动化系统的真正第一步。
下一步呢?
你可以继续深入:
- 学习 STM32 标准外设库 / HAL 库
- 实现 USART 串口通信
- 移植 FreeRTOS 实时操作系统
- 搭建自己的智能家居节点……
世界很大,代码很小,但足够改变一切。
🔧掌握 Keil4,不是终点,而是启程的号角。
📌互动时间:你在安装 Keil 时踩过哪些坑?欢迎在评论区分享你的经历,我们一起排雷!