M3 MacBook Pro上ST-Link无法识别NUCLEO-F446RE的问题求助
解决NUCLEO-F446RE在M3 MacBook Pro上无法被ST-Link/STM32CubeProgrammer检测的问题
问题背景
在M3 MacBook Pro(终端以x86架构运行)上,NUCLEO-F446RE开发板可被系统USB设备树识别,但无法被ST-Link v1.8.0及STM32CubeProgrammer(API v2.18.0 | macOS-64Bits)检测到。设备树识别信息如下:
STM32 STLink(已隐去序列号):
Product ID: 0x374b
Vendor ID: 0x0483 (STMicroelectronics)
Version: 1.00
Serial Number:
Manufacturer: STMicroelectronics
Location ID: 0x02100000
排查发现无/dev/tty.usb*设备,推测问题源于设备未正确映射到串口或驱动未加载。
解决步骤
1. 确认系统扩展权限
- 打开「系统设置」→「隐私与安全性」
- 检查是否有STMicroelectronics相关的系统扩展权限请求,若有点击「允许」并重启Mac。
2. 降级ST-Link至兼容版本
ST-Link自v1.7.1起移除官方Mac支持,Homebrew提供的v1.8.0存在适配问题,可安装v1.7.0版本:
arch -x86_64 brew install stlink@1.7.0 # 链接旧版本到全局路径 arch -x86_64 brew link stlink@1.7.0 --force
3. 检查设备与驱动状态
验证USB设备识别
执行命令确认设备已被系统正确枚举:
ioreg -p IOUSB -c IOUSBDevice | grep -i stlink
若输出包含设备信息,说明硬件连接正常。
检查驱动加载状态
执行命令查看ST相关驱动是否加载:
kextstat | grep -i st
若无输出,需安装ST官方旧版驱动(从ST官网归档下载适配macOS的ST-Link驱动包),安装后重启系统。
4. 排查串口映射问题
Mac上串口设备可能以/dev/cu.usb*命名,而非/dev/tty.usb*,执行以下命令查看:
ls /dev/cu.usb*
若找到对应设备,可尝试在STM32CubeProgrammer中指定该串口路径连接。
5. 重置ST-Link固件
若以上步骤无效,尝试重置开发板的ST-Link固件:
- 按住开发板上的RESET和USER按钮
- 先松开RESET按钮,1秒后松开USER按钮,此时ST-Link进入DFU模式
- 打开STM32CubeProgrammer,切换至「DFU」连接模式,重新烧录ST-Link官方固件(从ST官网下载对应NUCLEO-F446RE的ST-Link固件)
内容的提问来源于stack exchange,提问作者Sal
相关产品推荐
相关产品推荐

