VS Code调试树莓派Pico遇权限问题:OpenOCD启动失败求助
问题分析与解决方案
1. 先排查OpenOCD路径配置错误
错误提示spawn /usr/local/bin EACCES,说明VS Code试图启动目录/usr/local/bin,而非OpenOCD可执行文件。这大概率是launch.json配置出错:
- 终端执行
which openocd,获取正确的可执行文件路径(通常是/usr/local/bin/openocd) - 打开
.vscode/launch.json,找到openocdPath字段,将其值修改为上述完整路径,示例:"openocdPath": "/usr/local/bin/openocd"
2. 修复文件/设备权限问题
如果路径配置正确仍报EACCES,那就是权限问题:
- 检查OpenOCD的执行权限:
确保输出的权限位末尾有ls -l /usr/local/bin/openocdx(代表其他用户可执行),如果没有,执行:sudo chmod +x /usr/local/bin/openocd - 配置Pico调试探针的udev规则,解决USB设备访问权限:
创建文件/etc/udev/rules.d/99-pico.rules,写入:
重新加载udev规则:SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0004", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="0003", MODE="0666"sudo udevadm control --reload-rules && sudo udevadm trigger
3. 确保VS Code运行用户的权限
- 不要用
sudo code启动VS Code,这会导致文件权限混乱 - 确保当前用户属于
plugdev组(Linux下USB设备访问的常用组):
注销并重新登录后生效sudo usermod -aG plugdev $USER
内容的提问来源于stack exchange,提问作者Webius
相关产品推荐
相关产品推荐

