M1芯片Mac用PlatformIO调试ESP32-S3时设备未找到故障求助
在M1 Mac上用VSCode+PlatformIO调试ESP32-S3的故障排查
问题背景
- 环境:M1芯片Mac、VSCode + PlatformIO、ESP32-S3(自带内部调试器)
- 已操作项:安装FTDI VCP驱动(D3XX驱动因无法编译未安装);自制USB线连接D-/D+引脚到ESP32-S3的GPIO19、20及GND
- 故障表现:
- 设备连接Mac后,
/dev目录无新增端口 - 无论
platform.ini如何配置,均报「设备未找到」错误,切换ESP-IDF调试也出现类似问题
- 设备连接Mac后,
错误日志
http://openocd.org/doc/doxygen/bugs.html adapter speed: 20000 kHz adapter speed: 5000 kHz Info : tcl server disabled Info : telnet server disabled Error: no device found Error: unable to open ftdi device with vid 0403, pid 6010, description '*', serial '*' at bus location '*' Error: no device found Error: unable to open ftdi device with vid 0403, pid 6014, description '*', serial '*' at bus location '*' .pioinit:11: Error in sourced command file: Remote connection closed
当前platform.ini配置
[env:esp32-s3-devkitc-1] platform = espressif32 board = esp32-s3-devkitc-1 framework = arduino upload_port = /dev/cu.wchusbserial553C0085431 monitor_speed=115200 build_type = debug debug_init_break = tbreak setup ;debug_tool = esp-builtin debug_tool = esp-prog
故障解决步骤
1. 修正调试工具配置
ESP32-S3自带内部调试器,无需使用外部ESP-Prog。修改platform.ini中的调试工具配置:
debug_tool = esp-builtin ;debug_tool = esp-prog
启用esp-builtin并注释掉esp-prog,匹配你使用的芯片自带调试功能。
2. 检查自制USB线可靠性
- 确认引脚对应准确:GPIO19接D-、GPIO20接D+,GND引脚可靠连接
- 排查虚焊、线损问题,可更换另一根自制线或标准USB线测试
3. 验证系统层面的设备识别
- 打开Mac「关于本机」→「系统报告」→「USB」,查看是否存在
ESP32-S3或USB JTAG/serial debug unit设备 - 若系统报告中无该设备,说明硬件连接或供电存在问题:重启Mac后重新插拔设备,检查开发板供电是否正常
4. 驱动与兼容性优化
- 卸载现有FTDI VCP驱动,安装Espressif官方适配ESP32系列的USB驱动(对M1 Mac兼容性更好)
- 更新PlatformIO的espressif32平台到最新版本:在PlatformIO主页「Platforms」→「espressif32」→「Updates」中完成更新,新版OpenOCD对M1 Mac和ESP32-S3的支持更完善
- 临时赋予
/dev端口读写权限:终端执行sudo chmod 666 /dev/cu.*(重启后需重新执行)
5. ESP-IDF调试的额外配置
若切换到ESP-IDF框架调试,需:
- 在
platform.ini中设置framework = espidf - 若工具链存在兼容性问题,手动删除
.platformio/packages下的toolchain-esp32s3目录,让PlatformIO重新下载适配M1 Mac的版本
内容的提问来源于stack exchange,提问作者Avner Gideoni
相关产品推荐
相关产品推荐

