关于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的若干问题的主要内容,如果未能解决你的问题,请参考以下文章