ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Keil5安装卸载与C51共存完整指南:从环境搭建到彻底清理

Keil5安装卸载与C51共存完整指南:从环境搭建到彻底清理 1. 为什么Keil5的安装卸载值得单独写一篇避坑指南嵌入式开发入门的第一道门槛往往不是写代码而是把开发环境装明白。Keil MDK 5后面统一叫 Keil5作为 ARM Cortex-M 系列单片机开发的主流工具链几乎是每个 STM32 学习者的必经之路。但它的安装过程有几个非常反直觉的设计安装包和器件支持包是分离的、C51 和 MDK 的共存需要额外操作、卸载后注册表残留会导致重装失败。这些问题在官方文档里往往一笔带过但实际踩坑的人非常多。这篇内容适合三类人第一类是刚接触 STM32 或 C51 单片机、准备从零搭建开发环境的新手第二类是电脑上已经装过旧版本 Keil想升级或者重装但遇到各种报错的人第三类是需要同时维护 C51 老项目和 ARM 新项目、想让两个环境共存的开发者。我会把安装、器件包配置、C51 共存、卸载清理这几个环节完整拆开讲每个步骤都说明为什么这么做以及不做会出什么问题。需要先明确一个概念Keil5 严格来说是 MDK-ARM 这个产品的俗称它和 Keil C51 是两个独立的安装程序只是共用同一个 IDE 外壳uVision。很多人以为装一个 Keil5 就能同时开发 51 和 STM32结果发现新建工程时找不到 51 的芯片型号这就是没搞清楚两者关系导致的。理解这一点后面的所有操作逻辑就顺了。2. 安装前的准备工作与版本选择逻辑2.1 安装包从哪来、选哪个版本Keil MDK 的安装包官方渠道是 keil.com 的下载页需要填写基本信息后获取下载链接。网上流传的各种“网盘版”“绿色版”我不建议用原因很实际这类包经常被二次打包可能夹带其他东西而且版本号混乱出了问题没法排查。官方安装包虽然下载慢一点但干净可控。版本选择上有个经验不要盲目追最新版。MDK 5.36、5.37 这类较新版本对 Win11 兼容性更好但如果你跟的教程或项目用的是老版本比如 5.23、5.29建议版本对齐因为不同版本自带的 ARM Compiler 版本不同老工程用新编译器可能报一堆 warning 甚至 error。我个人的习惯是新项目用 5.36 以上维护老项目就装对应老版本。安装包本身分两部分要记清楚MDK 主程序就是那个几百 MB 的 exe装的是 IDE 和编译器。器件支持包Device Family PackDFP这是单独下载的 pack 文件装的是具体芯片的型号、启动文件、外设寄存器定义。STM32 的包叫 Keil.STM32F1xx_DFP 这种命名。提示主程序装完不等于能用必须再装对应芯片的 DFP否则新建工程时器件列表是空的。这是新手最容易卡住的地方。2.2 安装路径和权限的坑安装路径强烈建议用纯英文、无空格的目录比如D:\Keil_v5。默认路径是C:\Keil_v5也能用但有两个隐患一是 C 盘空间紧张时后续装多个 DFP 会占不少地方二是某些老版本对中文路径处理不好编译时可能报找不到文件的错误。权限方面安装时右键选择“以管理员身份运行”。这不是形式主义Keil 安装过程要写注册表、注册文件关联权限不够会导致装到一半失败而且失败后残留的注册表项会让下次安装更麻烦。我遇到过装完打不开、提示 license 错误的八成是权限问题导致的注册表没写全。另外提前关掉杀毒软件的实时防护。不是说 Keil 有毒而是安装过程会释放大量临时文件、修改系统项某些杀软会误拦截导致安装不完整。装完再开回来就行。2.3 卸载旧版本的顺序问题如果你电脑上已经有 Keil不管是 C51 还是 MDK装新版本前要先处理干净。正确顺序是先用控制面板的“程序和功能”卸载已有的 Keil 相关条目。手动删除安装目录残留文件夹。清理注册表残留这一步后面第 5 章详细讲。再装新版本。直接覆盖安装是行不通的新旧版本的文件会混在一起轻则器件包加载异常重则 IDE 直接崩溃。这个顺序别省。3. Keil5 主程序安装的完整实操步骤3.1 一步步走完安装向导双击安装包后向导界面看着简单但每一步都有讲究。第一步是欢迎界面直接 Next。第二步是许可协议勾选同意。第三步是选择安装路径这里就是我前面说的改成D:\Keil_v5这种纯英文路径。第四步是填写用户信息随便填名字和邮箱即可不影响功能。关键在第五步之后安装程序会开始复制文件这个过程可能持续几分钟期间不要点取消也不要运行其他大型程序。装完后会弹出“Pack Installer”的自动启动选项这里可以先取消勾选因为主程序刚装完还没配置好直接进 Pack Installer 容易卡住。安装完成后第一次启动IDE 会提示你激活。这里涉及 License 管理正规做法是使用官方提供的评估版或者你合法持有的授权。评估版有代码大小限制32KB学习够用商业项目需要正规授权。我不展开讲激活细节只提醒一点任何来路不明的激活工具都有安全风险不建议使用。3.2 装完主程序后的第一件事主程序装完先别急着新建工程。打开 Keil5点菜单Pack Installer图标那个小方块图标看看能不能正常打开。如果打不开或者报错说明主程序安装有问题先解决这个再往下走。Pack Installer 是 Keil5 管理器件包的核心工具它的作用类似一个应用商店左边列出所有芯片厂商右边显示可安装的包。第一次打开它会自动联网刷新包列表网速慢的话要等一会儿。如果公司网络有代理限制可能刷新不出来这时候就需要手动下载 pack 文件离线安装方法在后面讲。3.3 器件支持包DFP的安装方法装 DFP 有两种方式我都用过各有适用场景。在线安装在 Pack Installer 里找到对应的厂商和芯片系列比如 STMicroelectronics → STM32F1 Series点右边的 Install 按钮。它会自动下载并安装。优点是省事缺点是依赖网络而且有时候下载到一半断了要重来。离线安装去 Keil 官网的 pack 下载页或者芯片厂商官网下载.pack文件。然后在 Pack Installer 里点File → Import选择下载好的 pack 文件导入。这种方式适合网络不稳定或者需要给多台电脑批量部署的情况。装完 DFP 后新建工程时在器件选择框里就能搜到对应型号了。比如装完 STM32F1 的包输入 STM32F103 就能看到具体型号。如果搜不到八成是包没装成功回 Pack Installer 确认一下安装状态。注意不同系列的芯片要装不同的 DFP。STM32F1、F4、H7 是分开的包别以为装了一个就全都能用。4. C51 与 MDK 共存安装的核心操作4.1 为什么需要共存、共存的原理很多做嵌入式的人会同时接触 51 单片机和 STM32。51 单片机C51 架构用 Keil C51 开发STM32ARM 架构用 MDK 开发。这两个是独立的工具链编译器都不一样C51 用的是 Keil 自己的 C 编译器MDK 用的是 ARM Compiler。但它们的 IDE 外壳是同一个 uVision。所以“共存”的本质是让同一个 uVision 能同时调用两套编译器。实现方式是先装其中一个再把另一个的安装目录合并进去或者用官方的共存安装方式。4.2 推荐的共存安装顺序我实测下来最稳的顺序是先装 C51再装 MDK。原因是 MDK 的安装程序在检测到已有 C51 时会询问是否合并安装合并后两者共用一个 uVision。反过来先装 MDK 再装 C51C51 的安装程序可能不认 MDK 的目录导致装出两个独立的 IDE切换起来很麻烦。具体操作先正常安装 Keil C51路径设为D:\Keil_v5。再运行 MDK 安装包安装路径设为同一个D:\Keil_v5。安装过程中如果提示目录已存在、是否合并选择合并/继续。装完后打开 uVision理论上两套工具链都能用。4.3 验证共存是否成功验证方法很直接新建工程时看器件选择列表。如果既能搜到 AT89C51、STC89C52 这类 51 芯片又能搜到 STM32F103 这类 ARM 芯片说明共存成功。如果只有一边检查两个地方一是Project → Manage → Project Items里的工具链选项看有没有 C51 和 ARM 两个选项二是安装目录下是否有C51和ARM两个子文件夹。缺哪个就是哪个没装好。提示C51 的器件包和 MDK 的 DFP 是两套体系。51 芯片的型号支持是 C51 安装包自带的不需要额外装 pack而 STM32 必须额外装 DFP。这个区别要分清。4.4 C51 的 2K 代码限制说明Keil C51 的评估版有 2KB 代码大小限制超过就编译不过。这是评估版的正常限制不是安装问题。学习阶段 2KB 通常够用如果项目确实超了需要考虑正规授权。网上有些“解除限制”的方法本质是修改授权文件存在合规和安全风险我不建议采用。遇到限制要么优化代码精简体积要么走正规渠道获取授权。5. 卸载 Keil5 与彻底清理残留5.1 常规卸载流程卸载分三步走缺一不可。第一步控制面板卸载。打开“程序和功能”找到所有 Keil 相关条目包括Keil uVision5、Keil MDK-ARM、Keil C51等逐个卸载。注意可能有多个条目别只卸一个就以为干净了。第二步删除安装目录。控制面板卸载后安装目录里通常还有残留文件比如你自己放的工程、下载的 pack 缓存。手动把D:\Keil_v5整个删掉。如果有文件删不掉说明有进程占用去任务管理器结束UV4.exe相关进程再删。第三步清理注册表。这是最关键也最容易被忽略的一步。5.2 注册表残留清理的详细操作注册表残留是导致“卸载后重装失败”的头号原因。Keil 在注册表里写了不少项卸载程序不一定清干净。操作路径按Win R输入regedit回车打开注册表编辑器。操作前先备份文件 → 导出导出一份完整备份万一删错了能恢复。需要清理的位置主要有HKEY_CURRENT_USER\Software\KeilHKEY_LOCAL_MACHINE\SOFTWARE\KeilHKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Keil64 位系统上 32 位程序的注册表位置找到这些项右键删除。如果提示权限不足需要先修改项的权限赋予当前用户完全控制权再删。注意注册表操作有风险删之前一定备份。只删 Keil 相关的项不要动其他厂商的项。5.3 文件关联和残留文件的处理除了注册表还有几处残留要处理文件关联.uvprojx、.uvproj、.c等文件可能还关联着已卸载的 Keil。可以在“默认应用”设置里改回或者重装后会自动重新关联。AppData 目录C:\Users\你的用户名\AppData\Roaming\Keil和AppData\Local\Keil下可能有配置缓存删掉。Pack 缓存如果之前装过 DFPC:\Users\你的用户名\AppData\Local\Arm\Packs或安装目录下的Pack文件夹可能有缓存重装前清掉避免版本冲突。5.4 卸载后重装失败的排查如果清理完还是装不上按这个顺序排查现象可能原因解决方法安装程序闪退残留进程占用任务管理器结束 UV4.exe提示已安装注册表未清干净重新清理注册表 Keil 项装完打不开权限或运行库缺失以管理员运行装 VC 运行库器件列表为空DFP 未装或损坏重装对应 DFP编译报错找不到编译器工具链路径错误检查安装目录 ARM/C51 文件夹6. 常见问题速查与实操避坑心得6.1 安装类高频问题问题一Pack Installer 打不开或一直转圈。多数是网络问题Pack Installer 要联网拉取包列表。解决办法是检查网络或者改用离线 pack 安装。如果公司网络有限制可以手动下载 pack 文件导入。问题二新建工程找不到芯片型号。99% 是 DFP 没装。去 Pack Installer 确认对应系列的包是否显示 Installed。没装就装上装完重启 IDE。问题三编译提示 license 过期或代码超限。评估版有 32KB 限制超了就是超了。检查是不是用了评估版或者代码确实太大需要正规授权。问题四烧录失败。这个和安装关系不大通常是调试器驱动ST-Link、J-Link没装好或者芯片被读保护了。先确认调试器在设备管理器里识别正常再检查烧录配置里的调试器型号选对没有。6.2 卸载类高频问题问题一控制面板里找不到 Keil 条目。可能是绿色版或者安装信息损坏。直接手动删安装目录 清注册表。问题二删注册表提示权限不足。右键注册表项 → 权限 → 添加当前用户 → 勾选完全控制 → 确定后再删。问题三重装后旧工程的配置丢失。这是正常的卸载会清掉全局配置。工程本身的.uvprojx文件还在重新打开后可能需要重新指定器件和调试器。6.3 我踩过的几个坑第一个坑是路径带中文。早期我把 Keil 装在D:\软件\Keil下结果某个版本的编译器处理中文路径有问题编译时报找不到头文件。改成纯英文路径后就好了。这个坑不常遇到但遇到了很难查。第二个坑是C51 和 MDK 装反顺序。我先装的 MDK 再装 C51结果装出两个独立的 uVision桌面两个图标打开哪个都只能干一半的活。后来全部卸载重来按 C51 先、MDK 后的顺序装才合并成功。第三个坑是卸载不干净导致重装报错。有次帮同事重装控制面板卸载后直接装新版结果提示“已检测到旧版本”。查了半天是注册表WOW6432Node下的 Keil 项没清。清掉后顺利装上。第四个坑是DFP 版本和 MDK 版本不匹配。装了个很新的 DFP但 MDK 版本较老结果 Pack Installer 里包显示装了但工程里用不了。后来把 DFP 换成和 MDK 匹配的版本才正常。所以装 DFP 时留意一下它要求的 MDK 最低版本。6.4 给新手的几条实用建议安装包和 pack 文件都留一份在本地换电脑或重装时不用重新下载。装完后立刻新建一个空工程编译一次确认工具链正常别等到写了几百行代码才发现环境有问题。工程文件建议单独放一个目录不要放在 Keil 安装目录里这样卸载重装不影响工程。如果同时用多个版本的 Keil可以用虚拟机或者不同的安装目录隔离避免互相干扰。环境搭建这件事装一次可能就管很久但第一次装的时候把每个环节的原理搞清楚后面遇到问题就能自己定位。我见过太多人卡在“器件列表为空”或者“重装失败”上其实根源都是没理解 Keil 的安装结构。把主程序、DFP、C51 这三者的关系理顺安装卸载就不再是玄学。
返回列表