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

时间:2015-07-26 14:50:41

标签: stm32 openocd

我使用Launchpad's gcc-arm-none-eabi 4.9-2015q2来编译STM32F0,现在我想使用arm-none-eabi-gdb进行调试采集。我的ST-Link v2是Nucleo F411RE板的一部分,附带外部硬件(STM32F0目标)。闪烁F0工作正常,所以我得出结论,我的SWD连接很好。

现在我想开始OpenOCD,但它失败了:

$ openocd -f interface/stlink-v2.cfg -f target/stm32f0x.cfg
Open On-Chip Debugger 0.9.0 (2015-07-26-16:02)
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'.
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 1000 kHz
adapter_nsrst_delay: 100
none separate
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: open failed
in procedure 'init'
in procedure 'ocd_bouncer'

这里可能有什么问题?

我也无法使用st-util建立连接,它报告超时并且最终总是与segmentation fault崩溃。

5 个答案:

答案 0 :(得分:11)

Nucleo F411RE嵌入了一个stlink v2-1而不是stlink v2

所以改变脚本文件如下:

source [find interface/stlink-v2-1.cfg]

transport select hla_swd

source [find target/stm32f4x.cfg]

reset_config srst_only

答案 1 :(得分:2)

文件stlink-v2-1.cfg可能没问题。您可能应该使用hla_vid_pid 0x0483 0x3748文件(该文件内部为setState)。

答案 2 :(得分:0)

我找到了解决办法。 stlink-v2.cfg中的VID / PID对错误。他们有这个:

  

hla_vid_pid 0x0483 0x3748

但它应该是这样的:

  

hla_vid_pid 0x0483 0x374 B

字母&#34; B&#34;,而不是数字&#34; 8&#34;。

答案 3 :(得分:0)

就我而言,我也得到了Declare @Value varchar(100) select @Value= value configsetting where Code=’ ClubcardDB’ Select top 10 * from [@Value].[dbo].[ClubcardDetails] ,但所有配置都可以。然后,我做了Error: open failed来查看为什么它不能通过USB连接(在Ubuntu上)。 dmesg告诉我有电源问题,也许电缆有故障。由于我当天早些时候使用了同一根电缆,并且板上的某些LED仍然闪烁,因此我首先忽略了该消息。但是后来我终于决定尝试,购买了另一条电缆,瞧瞧!这是一条故障电缆-使用新电缆,一切正常。因此,毕竟并非总是软件问题。

尽管如果您执行dmesg | grep usb(或在Windows中使用设备管理器)并且板卡列出的很好,则可能不是电缆问题。如果丢失,则可能是

答案 4 :(得分:0)

1.eclipse ide-> project-> inc-> {project_name} debug.cfg-> source [find interface / stlink.cfg]

检查接口调试器是stlink.cfg还是stlink-v2.cfg或stlink-v2-1.cfg 并更改[find interface / stlink.cfg]

{or}尝试

2.C:\ Ac6 \ SystemWorkbench \ plugins \ fr.ac6.mcu.debug_2.5.0.201904120827 \ resources \ openocd \ st_scripts \ interface \ stlink.cfg(或stlink-v2.cfg或stlink-v2-1 .cfg)

添加hla_vid_pid 0