关于OpenOCD+ST-LINK的若干问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于OpenOCD+ST-LINK的若干问题相关的知识,希望对你有一定的参考价值。


关于OpenOCD+ST-LINK的若干问题

mingdu.zheng at gmail dot com

没有访问权限

当前用户对USB设备没有访问权限的话,OpenOCD会返回如下错误提示:

Error: libusb_open() failed with LIBUSB_ERROR_ACCESS

最简单的办法是在openocd命令前加sudo就可以。如果使用sudo不放心的话,可以创建文件名为98-stlink.rules的文件,并将此文件拷贝到/etc/udev/rules.d目录中,然后重启系统。有了这个文件后,插入的ST-Link设备的权限将被设置为666,即任何人都可以读写访问。98-stlink.rules文件内容如下:

SUBSYSTEM=="usb", ATTRidVendor=="0483", ATTRidProduct=="374b", MODE="666"
SUBSYSTEM=="usb", ATTRidVendor=="0483", ATTRidProduct=="3748", MODE="666"
SUBSYSTEM=="usb", ATTRidVendor=="0483", ATTRidProduct=="3744", MODE="666"

检查ST-Link版本

OpenOCD支持ST-Link的三个版本,分别是ST-LINK, ST-LINK/V2, ST-LINK/V2-1。配置文件要引用对应的ST-LINK配置,可以通过lsusb命令查看所使用的ST-LINK的ID确定版本。

版本

配置文件

ID

ST-LINK

interface/stlink-v1.cfg

0483:3744

ST-LINK/V2

interface/stlink-v2.cfg

0483:3748

ST-LINK/V2-1

interface/stlink-v2-1.cfg

0483:374b

排除权限问题后,如果还出现open failed错误,那么需要检查ST-LINK版本是否对上了。

其它

​​ST-Link/V2不能挂载到VirtualBox的解决办法​​


以上是关于关于OpenOCD+ST-LINK的若干问题的主要内容,如果未能解决你的问题,请参考以下文章

STM32F0,ST-link v2,OpenOCD 0.9.0:打开失败

STM32 OpenOCD调试

GDB 和 OpenOCD - 调试结束后重置或恢复

关于ST-Link的使用

关于STLINK

使用 OpenOCD 进行单步调试