使用OpenOCD调试STM32F1xx发现板(ST-Link)

时间:2013-04-29 20:46:33

标签: eclipse stm32 freertos codesourcery openocd

我遇到一些问题让OpenOCD与我的STM32F100RB Discovery板通信(它使用ST-Link)。

我不习惯使用开源工具,因此我从未遇到过编程和调试嵌入式平台的问题。在过去的一周里,我遇到了比我想象的更多的问题,只是试图让IDE + FreeRTOS +调试运行起来。

我现在决定将Eclipse + Sourcery G ++ Lite + OpenOCD用于我的嵌入式应用程序。我有一个小应用程序编译(良好的开始...),现在正在尝试使用OpenOCD进行编程和调试。当我这样做时,我收到以下错误:

Open On-Chip Debugger 0.7.0-rc2 (2013-04-28-12:55)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Error: Debug adapter doesn't support any transports?
Runtime Error: embedded:startup.tcl:20: 
in procedure 'script' 
at file "embedded:startup.tcl", line 58
at file "stm32f1x_stlink.cfg", line 17
in procedure 'transport' called at file "C:/openocd-0.7.0-            rc2/bin/../scripts/target/stm32_stlink.cfg", line 53
in procedure 'ocd_bouncer' 
at file "embedded:startup.tcl", line 20

我不知道从哪里开始,请帮忙。另外:如果有人有更好的开源/免费IDE用于STM32,它“支持”FreeRTOS(即可以提供演示/模板),我会很高兴听到它:)

编辑:

好吧,我认为我在第一次尝试中使用了错误的配置文件。现在我得到了这个:

C:\OpenOCD\openocd-0.7.0-rc2\bin>openocd-0.7.0-rc2.exe -f stlink-v2.cfg
Open On-Chip Debugger 0.7.0-rc2 (2013-04-28-12:55)
Licensed under GNU GPL v2
For bug reports, read
    http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : This adapter doesn't support configurable speed
Error: session's transport is not selected.
Error: allow transport 'hla_swd'
Error: allow transport 'hla_jtag'
Error: allow transport 'stlink_swim'
in procedure 'transport'
in procedure 'init'

4 个答案:

答案 0 :(得分:1)

为什么不使用可用的电路板配置? scripts / board / stm32vldiscovery.cfg这是您的主板。这样你就不需要指定接口和芯片,只需要指板:

openocd-0.7.0-rc2.exe -f board/stm32vldiscovery.cfg

答案 1 :(得分:0)

要回答第二个问题,你没有提供你的主板的配置文件(STM32F100RB Discovery),openocd只知道你的适配器(ST-Link),因此错误信息。

答案 2 :(得分:0)

您还需要引用stm32f1x.cfg文件:

openocd-0.7.0-rc2.exe -f stlink-v2.cfg -f stm32f1x.cfg

答案 3 :(得分:0)

我遇到了同样的问题。当我尝试这个命令时:

openocd-x64-0.8.0 -f interface\stlink-v2.cfg -f target\stm32f1x.cfg

我得到以下内容:

c:\>openocd-x64-0.8.0 -f interface\stlink-v2.cfg -f target\stm32f1x.cfg
Open On-Chip Debugger 0.8.0 (2014-04-28-08:42)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.sourceforge.net/doc/doxygen/bugs.html
Error: session's transport is not selected.
Runtime Error: embedded:startup.tcl:20:
in procedure 'script'
at file "embedded:startup.tcl", line 58
in procedure 'swj_newdap' called at file "C:/openocd-0.8.0//scripts/target\stm32f1x.cfg", line 37
in procedure 'transport' called at file "C:/openocd-0.8.0//scripts/target/swj-dp.tcl", line 26
in procedure 'ocd_bouncer'
at file "embedded:startup.tcl", line 20

编辑:

没关系,我发现它...我的stlink是V2版本,所以我尝试使用V2配置和stm32f1x_stlink.cfg。没有它没有故障开始。 下一步是与GDB和Eclipse连接。

干杯!

亚历