我正在尝试设置一个eclipse开发环境来与stm32f303 nucleo 32 board. http://www.st.com/en/evaluation-tools/nucleo-f303k8.html一起工作。
到目前为止,所有的工具似乎都正确安装和工作:我已经成功地编译并启动了stm32f4发现的openocd调试器,当我连接stm32f303 nucleo 32板并启动openocd时,板上的led指示它已连接。(我已经刷新了板。)
当我一步一步地调试时,openocd会丢失,这似乎与openocd启动时给我的消息有关(寻找粗体行):
Open On-Chip Debugger 0.9.0 (2015-05-19-12:09)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
adapter speed: 1000 kHz
adapter_nsrst_delay: 100
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
none separate
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : Unable to match requested speed 1000 kHz, using 950 kHz
Info : clock speed 950 kHz
**Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED**
Info : STLINK v2 JTAG v27 API v2 SWIM v15 VID 0x0483 PID 0x374B
Info : using stlink api v2
Info : Target voltage: 3.239293
Info : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints
有没有人知道如何修复usb驱动程序在这种情况下,或者有可能是其他东西导致的问题?
3条答案
按热度按时间ykejflvf1#
如果您在Linux上遇到此问题,您必须配置udev规则以与设备一起使用。在Contributions下找到openOCD源代码发行版中包含的99-openocd.rules。连接您的ST-Link USB设备并从终端运行'lsusb',它将列出如下内容:
Bus 004 Device 009: ID 0483:3748 STMicroelectronics ST-LINK/V2
注意ID后面的值,您需要检查99-openocd.rules以查看是否有支持该设备的匹配条目,在上面的情况下是这样的:
将此文件复制到/etc/udev/rules.d配置目录并重新启动计算机。然后再次尝试调试。
1wnzp6jl2#
OpenOCD发行版包含一些libusb驱动程序,并建议运行zadig.exe工具来激活它们。这将解决您的问题。
http://zadig.akeo.ie/
erhoui1w3#
正如@silverdr在评论中提到的,断开设备并重新连接对我来说很有效。