2013-04-29 66 views
2

我的OpenOCD與我的STM32F100RB發現板(它使用ST-Link)進行通信時出現了一些問題。使用OpenOCD進行調試STM32F1xx發現板(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 

我不知道從哪裏開始,請幫助。另外:如果任何人有STM32更好的開源/免費的IDE其中「支持」 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' 
+1

「我不習慣使用開源工具,因此我從來沒有遇到過編程和調試我的嵌入式平臺的問題。」 這聽起來像一個巨大的巨魔;-) – 2013-04-30 19:25:44

+0

爲什麼? :) ..我一直與來自某些供應商(免費或授權)的工具合作,並且大多數他們工作正常,無需進行高級配置等。 – Jolle 2013-05-01 07:19:40

回答

0

要回答你的第二個問題,你沒有您的主板(STM32F100RB發現)提供的配置文件,OpenOCD的只知道你的適配器(ST-Link的),因此,錯誤信息。

0

您還需要參考stm32f1x.cfg文件:

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

我只是試試這個,當我回家時感謝:) – Jolle 2013-05-01 07:14:16

+0

現在我是得到一個新的錯誤:「無效的命令名稱」jtag_ntrst_delay「? – Jolle 2013-05-02 15:30:00

+0

您是否按照上面鍵入的內容輸入了行?如果您將stm32f1x文件放在stlink-v2文件之前,可能會出現jtag_ntrst_delay錯誤。 – amo 2013-05-02 19:30:49

1

你爲什麼不只是使用可用的電路板配置? scripts/board/stm32vldiscovery.cfg這是你的主板。這樣你就不需要指定接口和芯片,只需要指定主板:

openocd-0.7.0-rc2.exe -f board/stm32vldiscovery.cfg 
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。

乾杯!

Alex