如何修复 PlatformIO STM32 Error: libusb_open() failed with LIBUSB_ERROR_ACCESS
问题:
尝试使用 stlink 和 PlatformIO 编程你的 STM32 板时(集成在开发板上的大多数编程器是 STLink 编程器),你看到此错误消息:
openocd_libusb_error.txt
xPack OpenOCD, x86_64 Open On-Chip Debugger 0.11.0-00155-ge392e485e (2021-03-15-16:43)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
debug_level: 1
hla_swd
Error: libusb_open() failed with LIBUSB_ERROR_ACCESS
Error: open failed
in procedure 'program'
** OpenOCD init failed **
shutdown command invoked解决方案
你需要为 STLink usb 设备设置正确的权限 - 换句话说,安装正确的 stlink udev 规则文件。在 Ubuntu 上,使用以下命令安装 stlink-tools
install_stlink_tools.sh
sudo apt -y install stlink-tools
sudo systemctl restart udev之后,拔下你的 stlink(或开发板)5 秒钟然后重新插入。这将使新设备权限生效。
现在你可以从 PlatformIO 重试上传固件。
Check out similar posts by category:
PlatformIO, STM32
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow