引言

Keil Microcontroller Development Kit (MDK) 是一款广泛应用于嵌入式系统开发的集成开发环境(IDE),特别是在基于 Arm Cortex-M 系列微控制器的项目中。它集成了编译器、调试器、实时操作系统(RTOS)以及各种外设驱动程序,为开发者提供了从代码编写、编译到调试、烧录的一站式解决方案。本文将详细阐述 Keil MDK 的安装过程,涵盖从前期准备到后期配置的每一个环节,并针对常见问题提供具体解决方案,旨在帮助用户顺利搭建开发环境。

Keil MDK 简介与安装前准备

Keil MDK 是什么?

Keil MDK 是一套完整的软件开发工具包,核心组件包括:

  • uVision IDE: 用户界面,用于代码编辑、项目管理、编译和调试。
  • Arm Compiler: 强大的 C/C++ 编译器,将源代码转换为微控制器可执行的机器码。
  • µVision Debugger: 集成的调试器,支持硬件调试(通过JTAG/SWD)和软件仿真。
  • RTOS Kernel (Keil RTX): 轻量级实时操作系统,方便多任务管理。
  • Device Support Packs (DSPS): 特定微控制器的支持包,包含设备头文件、启动代码、闪存编程算法和示例项目。

安装前的系统要求与注意事项

  • 操作系统: Keil MDK 通常支持 Windows 7、Windows 8、Windows 10 和 Windows 11 等主流 Windows 操作系统。建议使用 64 位操作系统以获得最佳兼容性。
  • 硬件要求: 至少 2GB RAM,建议 4GB 或以上;至少 2GB 可用磁盘空间,根据安装的设备支持包数量可能需要更多。
  • 管理员权限: 运行安装程序时,务必使用管理员权限,以确保所有文件和注册表项能够正确写入。
  • 网络连接: 下载安装包、设备支持包以及激活许可证时需要稳定的网络连接。
  • 关闭杀毒软件/防火墙: 在安装过程中,部分杀毒软件或防火墙可能会误报或阻止 Keil MDK 的文件写入。建议暂时关闭它们,安装完成后再启用。

Keil MDK 安装包下载

哪里可以下载 Keil MDK?

Keil MDK 的官方下载渠道是 Arm 公司的 Keil 官网。请务必从官方渠道下载,以确保获取到最新、最稳定的版本,并避免潜在的安全风险。

官方下载链接通常是:https://www.keil.com/download/product/

在下载页面,您会看到不同版本的 Keil MDK。

  • MDK-Lite: 这是免费评估版本,对代码大小有限制(通常为 32KB 或 256KB),但功能完整,适合学习和小型项目。
  • MDK-Essential/Plus/Professional: 这些是商业版本,提供更多功能、更大代码限制或无限制、以及专业技术支持。

对于大多数初学者和个人开发者,下载 MDK-Lite 版本即可满足需求。下载前可能需要填写一些基本信息。

如何验证下载文件?

下载完成后,建议检查下载文件的完整性。虽然官网通常不提供校验和,但确保文件大小与官网显示一致,并在安装前进行一次病毒扫描是一个好习惯。

Keil MDK 核心程序安装步骤

以下是 Keil MDK 核心程序的详细安装步骤:

  1. 运行安装程序:

    找到您下载的 Keil MDK 安装程序(通常是 MDKxxx.exe,其中 xxx 代表版本号),右键单击,选择“以管理员身份运行”。

  2. 欢迎界面:

    安装程序启动后,会显示欢迎界面。点击“Next”继续。

  3. 许可协议接受:

    仔细阅读许可协议(License Agreement)。要继续安装,必须勾选“I agree to the terms and conditions in this license agreement”,然后点击“Next”。

  4. 选择安装路径:

    Keil安装路径选择

    默认安装路径通常是 C:\Keil_v5。您可以选择保持默认路径,或点击“Browse”选择一个自定义路径。建议安装在非系统盘,例如 D:\Keil_v5,但请确保路径中不包含中文字符或特殊符号,这可能导致后续编译或调试问题。选定路径后,点击“Next”。

  5. 选择安装组件:

    通常情况下,所有的组件都是默认勾选的,包括 uVision IDE、Arm Compiler 等。保持默认勾选即可,它们是开发环境的核心部分。点击“Next”。

  6. 填写用户信息:

    在这一步,安装程序可能会要求您填写一些基本信息,如 First Name (名), Last Name (姓), Company (公司名称) 和 Email (电子邮件)。这些信息对于 MDK-Lite 版本通常是可选的,您可以随意填写。填写完成后,点击“Next”。

  7. 开始安装:

    安装程序将开始复制文件并配置系统。这个过程可能需要几分钟。请耐心等待,不要中断。

  8. 驱动安装提示:

    在安装过程中,可能会弹出几次 Windows 安全提示,询问是否安装设备驱动程序(如 Arm CMSIS-DAP、Segger J-Link 或 ST-Link 等)。请务必选择“安装”或“始终信任此驱动程序软件”,这些驱动对于后续的硬件调试至关重要。

  9. 安装完成:

    当看到“Installation Complete”或类似提示时,表示 Keil MDK 核心程序已成功安装。勾选“Run uVision”可以直接启动 IDE,或者点击“Finish”完成安装。

设备支持包 (DSP) 的安装与管理

DSP 的作用是什么?

设备支持包(Device Support Packs,简称 DSP 或 Pack)是 Keil MDK 开发环境中的关键组成部分。它们为特定的微控制器系列(如 STM32、NXP LPC、GD32 等)提供:

  • 设备头文件: 包含微控制器寄存器定义,方便用户访问和配置外设。
  • 启动代码: 微控制器上电后首先执行的代码,用于初始化堆栈、向量表和时钟等。
  • 闪存编程算法: 用于将编译好的程序下载到微控制器内部闪存中。
  • 示例项目: 针对特定设备的示例工程,帮助用户快速上手。
  • CMSIS 组件: Arm Cortex-M 处理器软件接口标准(CMSIS)的实现,提供统一的硬件抽象层。

如果没有安装对应的 DSP,您将无法为目标微控制器创建或编译项目。

如何安装 DSP?

安装 DSP 有两种主要方式:在线安装和离线安装。

在线安装 DSP (通过 Pack Installer)

  1. 启动 Pack Installer:

    打开 Keil uVision IDE,点击菜单栏的 “Project” -> “Manage” -> “Pack Installer”,或者直接点击工具栏上的 Pack Installer 图标(一个绿色的芯片图标)。

    Pack Installer 启动后,会自动连接到 Arm 官网的 Pack 仓库,并加载所有可用的设备支持包列表。这个过程可能需要一些时间,取决于您的网络速度。

  2. 选择并安装设备包:

    在 Pack Installer 界面的左侧,您可以找到“Devices”列表,列出了所有支持的微控制器厂商。展开您需要支持的厂商(例如“STMicroelectronics”),然后选择具体的微控制器系列(例如“STM32F4 Series”)。

    在右侧窗口,会显示该系列所有可用的 Pack。找到您需要的 Pack(通常是针对某个具体的 MCU 型号),点击对应的“Install”按钮。

    Keil Pack Installer界面

    等待 Pack 下载和安装完成。安装状态会显示为“Up to date”。

离线安装 DSP (下载 .pack 文件)

如果您的开发环境无法访问互联网,或者在线安装遇到问题,您可以手动下载 .pack 文件进行离线安装。

  1. 下载 .pack 文件:

    访问 Keil 官网的 Pack 下载页面(通常是 https://www.keil.com/dd2/packs/),找到您需要的微控制器厂商和对应的 Pack 文件,点击下载。Pack 文件的命名通常为 Vendor.DeviceFamily.X.Y.Z.pack

  2. 导入 .pack 文件:

    启动 Keil uVision IDE,打开 Pack Installer。在 Pack Installer 界面中,点击菜单栏的 “File” -> “Import…” (或 “Install to folder…”)。

    浏览到您下载的 .pack 文件,选择它并点击“打开”。Pack Installer 将会自动安装该设备支持包。

DSP 的更新与卸载

  • 更新 DSP: 在 Pack Installer 中,如果某个已安装的 Pack 有新版本可用,其状态会显示为“Update Available”,点击“Update”按钮即可更新。
  • 卸载 DSP: 在 Pack Installer 中,找到已安装的 Pack,点击其旁边的“Remove”按钮即可卸载。这在您不再使用某个特定微控制器时可以节省磁盘空间。

Keil MDK 许可证激活

Keil MDK 的许可证管理对于其功能使用至关重要。

MDK-Lite 版本(免费评估版)

MDK-Lite 是一个免费的、功能完整的评估版本,但它对编译生成的代码大小有限制。对于 Arm Cortex-M 系列微控制器,通常限制为 32KB 或 256KB。当您的项目代码超过此限制时,编译器将无法生成完整的程序。

MDK-Lite 版本在安装完成后即可使用,无需额外的激活步骤。但在首次使用 uVision IDE 时,可能会提示您注册,可以跳过或根据提示填写信息(通常是用于获取免费技术支持或更新通知)。

商业许可证激活流程

如果您购买了 Keil MDK 的商业许可证(如 MDK-Essential、Plus 或 Professional),需要进行激活才能解除代码大小限制并获得全部功能。

  1. 获取许可证 ID (LIC):

    购买商业许可证后,您会收到一个许可证 ID (License ID, LIC),通常是一串字母和数字组合。请妥善保管此 LIC。

  2. 打开 License Management:

    启动 Keil uVision IDE,点击菜单栏的 “File” -> “License Management…”。

    Keil许可证管理界面

    在弹出的“License Management”窗口中,您可以看到已安装的许可证信息(如果存在)。

  3. 添加许可证:

    在“License Management”窗口的“Product License”选项卡下,找到“New License ID Code (LIC)”输入框。将您的 LIC 复制粘贴到此处。

    点击“Add LIC”按钮。Keil 将尝试连接到 Arm 的许可证服务器验证您的 LIC。

  4. 完成激活:

    如果验证成功,许可证信息将显示在列表中,并显示相应的到期日期和产品版本。至此,您的 Keil MDK 已成功激活。

常见激活问题与解决方案:

  • 网络问题: 激活需要连接到 Arm 的许可证服务器。请确保您的计算机可以访问互联网,并且没有被防火墙或代理服务器阻止。可以尝试临时关闭防火墙或更换网络环境。
  • 许可证无效或过期: 如果提示 LIC 无效或已过期,请检查您输入的 LIC 是否正确,并确认您的许可证仍处于有效期内。如果确定无误,请联系 Keil 官方技术支持。
  • 浮动许可证: 对于企业使用的浮动许可证(FlexNet License),激活流程会有所不同,通常需要配置许可证服务器地址和端口。请参照您的许可证管理员提供的具体指引进行操作。

常用外部调试器驱动安装

虽然 Keil MDK 安装时可能会包含一些常用调试器的驱动,但为了确保最佳兼容性和功能,建议单独安装或更新您使用的调试器(如 ST-Link、J-Link 等)的最新驱动。

ST-Link 驱动安装

ST-Link 是 STMicroelectronics 微控制器常用的调试工具。

  1. 下载驱动: 访问 STMicroelectronics 官网,在产品页面或支持页面搜索“ST-Link驱动”或“STM32 ST-LINK Utility”(它包含了驱动)。
  2. 安装驱动: 运行下载的安装程序,按照提示完成安装。确保在安装过程中勾选安装 ST-Link USB 驱动。
  3. 验证: 将 ST-Link 连接到电脑,打开设备管理器,确认在“通用串行总线设备”或“通用串行总线控制器”下能看到“STM32 STLink”或类似设备,且没有黄色感叹号。

J-Link 驱动安装

J-Link 是 Segger 公司生产的通用调试器,支持广泛的微控制器。

  1. 下载驱动: 访问 Segger 官网(https://www.segger.com/downloads/jlink/),下载最新版本的 J-Link 软件和文档包。
  2. 安装驱动: 运行下载的安装程序,按照提示完成安装。安装包中包含了 J-Link 的 USB 驱动。
  3. 验证: 将 J-Link 连接到电脑,打开设备管理器,确认在“通用串行总线设备”下能看到“J-Link”或类似设备,且没有黄色感叹号。您也可以运行 Segger J-Link GDB Server 或 J-Link Commander 来测试连接。

CMSIS-DAP 驱动安装

CMSIS-DAP 是一种开放标准的调试接口,许多基于 Arm Cortex-M 的开发板(如一些开发板自带的调试器)都采用此标准。Keil MDK 在安装时通常会包含其驱动。如果遇到问题,可以尝试更新 Keil MDK 或手动安装相关的通用 USB 串口驱动。

安装后的初步验证

在完成 Keil MDK 的安装和所有驱动的配置后,建议进行一次初步验证,确保环境正常工作。

  1. 启动 Keil uVision IDE:

    双击桌面上的 Keil uVision 快捷方式或从开始菜单启动。检查 IDE 界面是否正常显示。

  2. 检查工具链版本:

    在 Keil uVision IDE 中,点击菜单栏的 “Help” -> “About µVision…”。在弹出的窗口中,您可以看到 uVision 的版本、Arm Compiler 的版本以及许可证信息。确认这些信息与您的预期一致。

  3. 检查设备支持包是否可用:

    尝试创建一个新项目(“Project” -> “New µVision Project…”)。在选择设备时,查找您之前安装的微控制器型号(例如 STM32F407ZG)。如果能正常找到并选择,说明设备支持包安装成功。

  4. 尝试编译一个示例项目:

    打开一个 Keil MDK 提供的示例项目(通常在 C:\Keil_v5\ARM\BoardsC:\Keil_v5\ARM\Pack 目录下)。尝试进行编译(点击工具栏的“Build”按钮或按 F7)。如果编译成功且没有错误,表明编译器和工具链配置正确。

  5. 尝试连接调试器:

    将您的目标开发板与调试器(如 ST-Link/J-Link)连接到电脑。在 Keil uVision IDE 中,进入 “Options for Target…” (魔术棒图标),选择“Debug”选项卡,确保已正确选择您的调试器(例如“ST-Link Debugger”或“J-Link/J-Trace Cortex”)。点击“Settings”按钮,尝试进行连接测试。如果连接成功,说明调试器驱动和配置正确。

Keil MDK 的更新与维护

如何检查更新?

Keil MDK 会不定期发布更新版本,以修复bug、增加新功能或支持新的微控制器。

  • uVision IDE 更新: 访问 Keil 官网的下载页面,查看是否有比您当前版本更新的 MDK 安装包。
  • Pack Installer 更新: 启动 Pack Installer,它会自动检查已安装的设备支持包是否有更新。有更新时会显示“Update Available”。

更新程序与设备包

  • 更新 uVision IDE 和 Arm Compiler: 通常需要下载最新的 MDK 完整安装包,并以覆盖安装的方式进行。在安装过程中,安装程序会识别旧版本并提示更新。
  • 更新设备支持包: 在 Pack Installer 中,点击“Update All”按钮或针对单个 Pack 点击“Update”按钮即可。

卸载 Keil MDK

如果需要卸载 Keil MDK,请通过 Windows 的“控制面板” -> “程序和功能”或“设置” -> “应用”中找到“Keil MDK”,然后点击“卸载”。建议按照提示完成卸载,以确保所有相关文件和注册表项都被移除。

常见安装问题与解决方案

1. 安装失败,错误提示

  • 问题现象: 安装程序中断,提示“Error writing to file”、“Access Denied”或“Setup failed”。
  • 解决方案:

    • 管理员权限: 确保以管理员身份运行安装程序。
    • 杀毒软件/防火墙: 临时关闭杀毒软件和 Windows Defender 防火墙。
    • 安装路径: 检查安装路径是否合法,不包含中文字符或特殊符号,且所在磁盘空间充足。
    • 安装包损坏: 重新从官网下载安装包,确保文件完整。
    • 系统兼容性: 确认操作系统版本符合 Keil MDK 的要求。

2. uVision IDE 无法启动或闪退

  • 问题现象: 双击 uVision 快捷方式后,程序无响应或立即闪退。
  • 解决方案:

    • 重新安装: 尝试完全卸载 Keil MDK,然后以管理员身份重新安装。
    • 兼容模式: 尝试将 uVision.exe 设置为兼容模式(右键点击 uVision.exe -> 属性 -> 兼容性)。
    • 显卡驱动: 更新显卡驱动程序,有时旧的显卡驱动可能导致界面问题。
    • 系统组件: 确保 Windows 系统的重要更新和组件(如 .NET Framework)已安装。

3. 调试器无法连接到目标板

  • 问题现象: 在调试设置中点击“Settings”或“Connect”时报错,或无法识别到调试器。
  • 解决方案:

    • 驱动安装: 确认调试器(ST-Link/J-Link)的最新驱动已正确安装。检查设备管理器中是否存在黄色感叹号。
    • USB 连接: 尝试更换 USB 端口,或使用不同的 USB 线缆。确保 USB 连接稳定。
    • 目标板供电: 确保目标板已正确供电。
    • 调试接口: 检查目标板上的 JTAG/SWD 接口是否正确连接,排线方向是否正确。
    • 电源/复位: 尝试给目标板断电并重新上电,或按复位按钮。
    • 固件更新: 对于 ST-Link/J-Link,有时需要更新调试器的固件。请参照官方工具(如 STM32 ST-LINK Utility 或 J-Link Commander)进行固件更新。
    • Keil 配置: 在“Options for Target…” -> “Debug” -> “Settings”中,确保选择了正确的调试器,并检查“Port”设置为 SWD 或 JTAG 与目标板匹配。

4. Pack Installer 无法下载或更新

  • 问题现象: Pack Installer 列表加载失败,或下载 Pack 时报错“Network error”、“Connection timed out”。
  • 解决方案:

    • 网络连接: 确保计算机连接到互联网,并且网络稳定。
    • 防火墙/代理: 检查 Windows 防火墙或任何第三方防火墙设置,确保 Keil uVision (UV4.exe) 和 Pack Installer (PackInstaller.exe) 可以访问外部网络。如果使用了代理服务器,可能需要在 Keil 的网络设置中配置代理。
    • DNS 设置: 尝试更换 DNS 服务器为公共 DNS(如 Google DNS 8.8.8.8)。
    • 离线安装: 如果在线安装持续失败,尝试从官网下载 .pack 文件进行离线安装。

5. 许可证问题(MDK-Lite 代码限制,商业版激活失败)

  • 问题现象: MDK-Lite 版本编译时提示代码大小超过限制;商业版 LIC 激活失败。
  • 解决方案:

    • MDK-Lite 代码限制: 如果项目代码量超过 MDK-Lite 限制,需要购买商业许可证进行激活。
    • LIC 输入错误: 仔细核对输入的商业许可证 ID (LIC),确保没有输错字符。
    • 网络问题: 商业版激活需要连接到 Arm 的许可证服务器,确保网络畅通且未被防火墙阻止。
    • 许可证过期: 检查许可证是否在有效期内。
    • 联系支持: 如果确认 LIC 无误但仍无法激活,请联系 Keil 官方技术支持。

总结

Keil MDK 的安装过程相对直接,但涉及多个环节,包括核心程序的安装、设备支持包的配置以及许可证的激活。通过本文的详细指南,您应该能够顺利完成 Keil MDK 开发环境的搭建。在遇到问题时,请对照本文提供的常见问题解决方案进行排查。一个配置得当的开发环境是高效嵌入式开发的基础,希望本文能助您一臂之力。

keil安装

By admin

发表回复