初学者避坑指南:Mac 虚拟机搭建 Keil5 STM32 环境 + 解决 ST-Link USB Command Error 报错
一、写在前面:为什么用虚拟机?
Keil uVision5 是Windows 独占的嵌入式开发工具,Mac 系统没有原生支持。因此我们采用「Mac 安装 Windows 虚拟机」的方案来搭建环境,全程步骤清晰,小白也能跟着完成。
二、准备工具
- 虚拟机软件:推荐「Parallels Desktop」(对 Mac 兼容性最好,新手友好),也可以选择 VMware Fusion
- Windows 镜像:建议 Windows 10 专业版(镜像从微软官网或可靠渠道下载,避免精简版)
- Keil 安装包 :从指定网盘下载
- 链接:https://pan.baidu.com/s/1jghDJXmmaEzV1lezFzQcVA
- 提取码:1234
- ST-Link 调试器(硬件调试必备,若仅做软件编译可暂时不用)
三、步骤 1:安装 Windows 虚拟机
以「Parallels Desktop」为例:
- 打开 Parallels Desktop,点击「安装 Windows 或其他操作系统」
- 选择「从安装镜像文件安装」,找到下载好的 Win10 镜像文件(
.iso格式) - 按向导配置虚拟机:
- 虚拟机名称:自定义(如
Win10_Keil) - 资源分配:内存 ≥4GB、CPU 核心数 ≥2、硬盘空间 ≥60GB(Keil 和工程会占用较多空间)
- 虚拟机名称:自定义(如
- 等待 Windows 安装完成,进入系统后务必安装「Parallels Tools」(虚拟机增强工具,提升流畅度与文件共享能力)
四、步骤 2:下载并解压 Keil 安装包
- 在 Windows 虚拟机中打开浏览器,访问网盘链接,输入提取码
1234下载压缩包 - 右键压缩包 → 选择「解压到当前文件夹」(务必选择非中文路径 ,例如
D:\KeilSetup) - 解压后得到以下文件:
mdk514.exe:Keil uVision5 主程序安装包Keil.STM32F1xx_DFP.2.2.0.pack:STM32F1 系列芯片支持包keygen.exe:Keil 激活工具C51文件夹:51 单片机开发支持组件(STM32 开发可选装)
五、步骤 3:安装 Keil uVision5
- 双击
mdk514.exe启动安装,在「User Agreement」界面勾选I agree to the terms of this agreement,点击Next - 选择安装路径:强烈建议使用默认路径
C:\Keil_v5,避免中文路径导致异常,点击Next - 填写用户信息:姓名、邮箱可随意填写(如姓名
Test、邮箱test@xxx.com),点击Next - 选择安装组件:默认已勾选 ARM 开发环境(STM32 开发必备),无需额外修改,点击
Install - 等待安装完成(约 5-10 分钟),弹出「Pack Installer」窗口时直接关闭,后续单独安装芯片支持包
六、步骤 4:安装 STM32 芯片支持包
- 找到解压后的
Keil.STM32F1xx_DFP.2.2.0.pack文件,双击运行 - 程序会自动识别 Keil 安装路径,若识别错误需手动选择
C:\Keil_v5 - 点击
Next开始安装,等待进度条完成,提示Installation completed即安装成功
七、步骤 5:激活 Keil uVision5
⚠️ 重要提醒:激活工具可能被 Windows 杀毒软件拦截,请临时关闭 Windows Defender 或第三方杀毒软件!
- 打开 Keil uVision5(通过桌面快捷方式或开始菜单启动)
- 点击菜单栏
File→License Management - 复制「CID」栏的字符串(例如
C6TFP-XXXX-XXXX...) - 回到解压文件夹,右键
keygen.exe→ 选择「以管理员身份运行」 - 在激活工具中操作:
- 「Target」选择
ARM - 将复制的 CID 粘贴到「CID」输入框
- 点击
Generate生成激活码 - 复制激活码,粘贴到 Keil 激活窗口的「New License ID Code (LIC)」栏
- 点击
Add LIC,若提示License added successfully则激活完成
- 「Target」选择
八、步骤 6:ST-Link 驱动与调试配置(解决识别问题)
若遇到 ST-Link 插入后无反应、Keil 中无法识别调试器的情况,按以下步骤操作:
-
安装 ST-Link 驱动
- 一般keil自带驱动,打开keil的目录,如下,双击对应的程序安装即可

- 如果出现下面错误,安装不了,或者设备管理器中stlink有感叹号,再进行步骤2


- 一般keil自带驱动,打开keil的目录,如下,双击对应的程序安装即可
-
关闭 Windows 驱动强制签名(驱动安装失败时)
- Win10 操作路径:设置 → 更新和安全 → 恢复 → 高级启动 → 疑难解答 → 高级选项 → 启动设置 → 重启 → 按数字
7选择「禁用驱动程序强制签名」 - 详细看文章https://www.iotword.com/27949.html
- Win10 操作路径:设置 → 更新和安全 → 恢复 → 高级启动 → 疑难解答 → 高级选项 → 启动设置 → 重启 → 按数字
-
驱动再次安装
- 这里驱动安装不要再选择去keil目录的驱动程序安装了(亲测无效),要在设备管理器中安装驱动。
- "在以下位置搜索驱动程序中"选择你keil安装的盘,安装在c盘就填c盘,在d盘就填d盘,他会自动帮你安装驱动

-
Keil 中配置 ST-Link
- 新建工程后,用stlink连接电脑 ,点击「魔法棒」图标(
Options for Target) - 切换到「Debug」选项卡,选择「ST-Link Debugger」,点击
Settings - 确认「Port」选择
SW(STM32 常用 SWD 模式),点击Connect,若能识别芯片信息则配置成功 - 若下面方框内识别识别,有错误,比如 stlink usb command error 之类的,说明要更新stlink驱动,再进行步骤5

- 更新stlink驱动
- 可以直接到keil安装目录中找,keil自带有,如下,双击更新程序即可,可能要重新插拔stlink才会识别

详细参考stlink驱动更新文章
- 新建工程后,用stlink连接电脑 ,点击「魔法棒」图标(
九、常见问题排查
我在调试中,mac有个bug,就是换个usb口或重新插拔stlink,stlink驱动会掉,设备管理器的stlink会显示感叹号,这时候要重新下载,再次进行八、步骤6中的第3点重新安装驱动程序即可。(可能是在虚拟机运行的原因)
- Keil 激活失败
- 原因:杀毒软件拦截激活工具、CID 复制错误
- 解决:关闭杀毒软件,重新复制 CID,以管理员身份运行
keygen.exe
- ST-Link 识别失败
- 原因:驱动未正确安装、USB 线接触不良、驱动签名未关闭
- 解决:重新安装驱动、更换 USB 线、关闭驱动强制签名(参考步骤 8)
- 编译报错「找不到头文件」
- 原因:工程路径含中文、芯片支持包未安装
- 解决:将工程迁移至非中文路径,重新安装芯片支持包
- 虚拟机无法识别 USB 设备
- 原因:虚拟机 USB 权限未分配
- 解决:在 Parallels 中点击「设备」→「USB」→ 选择 ST-Link 设备,分配给 Windows 虚拟机
十一、总结
通过虚拟机在 Mac 上搭建 Keil5 + STM32 环境是最稳定的方案,只要按步骤操作,小白也能顺利完成。遇到问题优先参考常见问题排查,或对照 ST-Link 配置教程解决。