初学者避坑指南:Mac 虚拟机搭建 Keil5 STM32 环境 + 解决 ST-Link USB Command Error 报错
一、写在前面:为什么用虚拟机?
Keil uVision5 是Windows 独占的嵌入式开发工具,Mac 系统没有原生支持。因此我们采用「Mac 安装 Windows 虚拟机」的方案来搭建环境,全程步骤清晰,小白也能跟着完成。
二、准备工具
- 链接:https://pan.baidu.com/s/1jghDJXmmaEzV1lezFzQcVA
- 提取码:1234
三、步骤 1:安装 Windows 虚拟机
以「Parallels Desktop」为例:
- 虚拟机名称:自定义(如 Win10_Keil)
- 资源分配:内存 ≥4GB、CPU 核心数 ≥2、硬盘空间 ≥60GB(Keil 和工程会占用较多空间)
四、步骤 2:下载并解压 Keil 安装包
- mdk514.exe:Keil uVision5 主程序安装包
- Keil.STM32F1xx_DFP.2.2.0.pack:STM32F1 系列芯片支持包
- keygen.exe:Keil 激活工具
- C51 文件夹:51 单片机开发支持组件(STM32 开发可选装)
五、步骤 3:安装 Keil uVision5
六、步骤 4:安装 STM32 芯片支持包
七、步骤 5:激活 Keil uVision5
⚠️ 重要提醒:激活工具可能被 Windows 杀毒软件拦截,请临时关闭 Windows Defender 或第三方杀毒软件!
- 「Target」选择 ARM
- 将复制的 CID 粘贴到「CID」输入框
- 点击 Generate 生成激活码
- 复制激活码,粘贴到 Keil 激活窗口的「New License ID Code (LIC)」栏
- 点击 Add LIC,若提示 License added successfully 则激活完成
八、步骤 6:ST-Link 驱动与调试配置(解决识别问题)
若遇到 ST-Link 插入后无反应、Keil 中无法识别调试器的情况,按以下步骤操作:
安装 ST-Link 驱动
- 一般keil自带驱动,打开keil的目录,如下,双击对应的程序安装即可

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

关闭 Windows 驱动强制签名(驱动安装失败时)
- Win10 操作路径:设置 → 更新和安全 → 恢复 → 高级启动 → 疑难解答 → 高级选项 → 启动设置 → 重启 → 按数字 7 选择「禁用驱动程序强制签名」
- 详细看文章https://www.iotword.com/27949.html
驱动再次安装
- 这里驱动安装不要再选择去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

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





