初学者避坑指南:Mac 虚拟机搭建 Keil5 STM32 环境 + 解决 ST-Link USB Command Error 报错

一、写在前面:为什么用虚拟机?

Keil uVision5 是Windows 独占的嵌入式开发工具,Mac 系统没有原生支持。因此我们采用「Mac 安装 Windows 虚拟机」的方案来搭建环境,全程步骤清晰,小白也能跟着完成。

二、准备工具

  1. 虚拟机软件:推荐「Parallels Desktop」(对 Mac 兼容性最好,新手友好),也可以选择 VMware Fusion
  2. Windows 镜像:建议 Windows 10 专业版(镜像从微软官网或可靠渠道下载,避免精简版)
  3. Keil 安装包 :从指定网盘下载
  4. ST-Link 调试器(硬件调试必备,若仅做软件编译可暂时不用)

三、步骤 1:安装 Windows 虚拟机

以「Parallels Desktop」为例:

  1. 打开 Parallels Desktop,点击「安装 Windows 或其他操作系统」
  2. 选择「从安装镜像文件安装」,找到下载好的 Win10 镜像文件(.iso 格式)
  3. 按向导配置虚拟机:
    • 虚拟机名称:自定义(如 Win10_Keil
    • 资源分配:内存 ≥4GB、CPU 核心数 ≥2、硬盘空间 ≥60GB(Keil 和工程会占用较多空间)
  4. 等待 Windows 安装完成,进入系统后务必安装「Parallels Tools」(虚拟机增强工具,提升流畅度与文件共享能力)

四、步骤 2:下载并解压 Keil 安装包

  1. 在 Windows 虚拟机中打开浏览器,访问网盘链接,输入提取码 1234 下载压缩包
  2. 右键压缩包 → 选择「解压到当前文件夹」(务必选择非中文路径 ,例如 D:\KeilSetup
  3. 解压后得到以下文件:
    • mdk514.exe:Keil uVision5 主程序安装包
    • Keil.STM32F1xx_DFP.2.2.0.pack:STM32F1 系列芯片支持包
    • keygen.exe:Keil 激活工具
    • C51 文件夹:51 单片机开发支持组件(STM32 开发可选装)

五、步骤 3:安装 Keil uVision5

  1. 双击 mdk514.exe 启动安装,在「User Agreement」界面勾选 I agree to the terms of this agreement,点击 Next
  2. 选择安装路径:强烈建议使用默认路径 C:\Keil_v5 ,避免中文路径导致异常,点击 Next
  3. 填写用户信息:姓名、邮箱可随意填写(如姓名 Test、邮箱 test@xxx.com),点击 Next
  4. 选择安装组件:默认已勾选 ARM 开发环境(STM32 开发必备),无需额外修改,点击 Install
  5. 等待安装完成(约 5-10 分钟),弹出「Pack Installer」窗口时直接关闭,后续单独安装芯片支持包

六、步骤 4:安装 STM32 芯片支持包

  1. 找到解压后的 Keil.STM32F1xx_DFP.2.2.0.pack 文件,双击运行
  2. 程序会自动识别 Keil 安装路径,若识别错误需手动选择 C:\Keil_v5
  3. 点击 Next 开始安装,等待进度条完成,提示 Installation completed 即安装成功

七、步骤 5:激活 Keil uVision5

⚠️ 重要提醒:激活工具可能被 Windows 杀毒软件拦截,请临时关闭 Windows Defender 或第三方杀毒软件

  1. 打开 Keil uVision5(通过桌面快捷方式或开始菜单启动)
  2. 点击菜单栏 FileLicense Management
  3. 复制「CID」栏的字符串(例如 C6TFP-XXXX-XXXX...
  4. 回到解压文件夹,右键 keygen.exe → 选择「以管理员身份运行」
  5. 在激活工具中操作:
    • 「Target」选择 ARM
    • 将复制的 CID 粘贴到「CID」输入框
    • 点击 Generate 生成激活码
    • 复制激活码,粘贴到 Keil 激活窗口的「New License ID Code (LIC)」栏
    • 点击 Add LIC,若提示 License added successfully 则激活完成

若遇到 ST-Link 插入后无反应、Keil 中无法识别调试器的情况,按以下步骤操作:

  1. 安装 ST-Link 驱动

    • 一般keil自带驱动,打开keil的目录,如下,双击对应的程序安装即可
    • 如果出现下面错误,安装不了,或者设备管理器中stlink有感叹号,再进行步骤2

  2. 关闭 Windows 驱动强制签名(驱动安装失败时)

    • Win10 操作路径:设置 → 更新和安全 → 恢复 → 高级启动 → 疑难解答 → 高级选项 → 启动设置 → 重启 → 按数字 7 选择「禁用驱动程序强制签名」
    • 详细看文章https://www.iotword.com/27949.html
  3. 驱动再次安装

    • 这里驱动安装不要再选择去keil目录的驱动程序安装了(亲测无效),要在设备管理器中安装驱动。
    • "在以下位置搜索驱动程序中"选择你keil安装的盘,安装在c盘就填c盘,在d盘就填d盘,他会自动帮你安装驱动
  4. Keil 中配置 ST-Link

    • 新建工程后,用stlink连接电脑 ,点击「魔法棒」图标(Options for Target
    • 切换到「Debug」选项卡,选择「ST-Link Debugger」,点击 Settings
    • 确认「Port」选择 SW(STM32 常用 SWD 模式),点击 Connect,若能识别芯片信息则配置成功
    • 若下面方框内识别识别,有错误,比如 stlink usb command error 之类的,说明要更新stlink驱动,再进行步骤5
    1. 更新stlink驱动
    • 可以直接到keil安装目录中找,keil自带有,如下,双击更新程序即可,可能要重新插拔stlink才会识别

      详细参考stlink驱动更新文章

九、常见问题排查

我在调试中,mac有个bug,就是换个usb口或重新插拔stlink,stlink驱动会掉,设备管理器的stlink会显示感叹号,这时候要重新下载,再次进行八、步骤6中的第3点重新安装驱动程序即可。(可能是在虚拟机运行的原因)

  1. Keil 激活失败
    • 原因:杀毒软件拦截激活工具、CID 复制错误
    • 解决:关闭杀毒软件,重新复制 CID,以管理员身份运行 keygen.exe
  2. ST-Link 识别失败
    • 原因:驱动未正确安装、USB 线接触不良、驱动签名未关闭
    • 解决:重新安装驱动、更换 USB 线、关闭驱动强制签名(参考步骤 8)
  3. 编译报错「找不到头文件」
    • 原因:工程路径含中文、芯片支持包未安装
    • 解决:将工程迁移至非中文路径,重新安装芯片支持包
  4. 虚拟机无法识别 USB 设备
    • 原因:虚拟机 USB 权限未分配
    • 解决:在 Parallels 中点击「设备」→「USB」→ 选择 ST-Link 设备,分配给 Windows 虚拟机

十一、总结

通过虚拟机在 Mac 上搭建 Keil5 + STM32 环境是最稳定的方案,只要按步骤操作,小白也能顺利完成。遇到问题优先参考常见问题排查,或对照 ST-Link 配置教程解决。

相关推荐
DLGXY2 小时前
STM32——OLED显示屏(五)
stm32·单片机·嵌入式硬件
S火星人S2 小时前
软件调试基础(四【断点和单步执行】4.4【实模式调试器例析】)
stm32·单片机·嵌入式硬件
Digitally2 小时前
Mac 屏幕录制工具:12 款 Mac 屏幕录制工具
macos
_codemonster4 小时前
两台以上的电脑共用一套键盘鼠标(windows+Ubuntu)
windows·计算机外设·电脑
猫猫的小茶馆5 小时前
【Linux 驱动开发】七. 中断下半部
linux·arm开发·驱动开发·stm32·嵌入式硬件·mcu
沃尔特。13 小时前
直流无刷电机FOC控制算法
c语言·stm32·嵌入式硬件·算法
麒qiqi13 小时前
嵌入式 I2C 通信全解析:从硬件原理到驱动实现
stm32·单片机·嵌入式硬件
我爱我家diyer16 小时前
使用STM32的HAL库开发GD32F303CGT6
stm32·单片机·嵌入式硬件
REN者无敌16 小时前
桌面图标变白?Win10/Win11 通用修复方法:5 步解决,附原理说明
windows