PlatformIO STM32-Fehler beheben: libusb_open() failed with LIBUSB_ERROR_ACCESS

English Deutsch

Problem:

Beim Versuch, das STM32-Board mit stlink und PlatformIO zu programmieren (die meisten auf einem Entwicklungsboard integrierten Programmer sind STLink-Programmer), erscheint diese Fehlermeldung:

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

Lösung

Die korrekten Berechtigungen für die STLink-USB-Geräte müssen eingerichtet werden – anders gesagt, die korrekten stlink-udev-Regeldateien installieren. Auf Ubuntu stlink-tools installieren mit

install_stlink_tools.sh
sudo apt -y install stlink-tools
sudo systemctl restart udev

Danach den stlink (oder das Entwicklungsboard) für 5 Sekunden abziehen und wieder anschließen. Dadurch werden die neuen Geräteberechtigungen wirksam.

Nun kann der Firmware-Upload aus PlatformIO erneut versucht werden.


Check out similar posts by category: PlatformIO, STM32