Forum: Mikrocontroller und Digitale Elektronik STM32F4 Discovery: Remote debug with gdbserver


von Volker J. (volkerj85)


Lesenswert?

Hallo zusammen,

ich bekomme mit einem STM32F4 discovery Board eine Fehlermeldung (s.u.).
Gedacht war über OPEN OCD 0.10.0 und GDB eine Verbindung aufzubauen und 
zu debuggen.

Status:
- STLink V2 Adapter (Teil des STM32F4 discovery Boards) meldet sich auf 
OPEN OCD
- STLInk V2 Adapter meldet sich auf "ST Utility" (u.a. Flashen der SW)
- GDB kann sich NICHT verbinden (s.u. "Don't know how to run." )

Woran könnte das liegen? Würde mich sehr über Hinweise freuen.

Danke und Gruß
Volker
------------------------------------------------------------------------ 
--
------------------------------------------------------------------------ 
--

E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>REM

E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>REM

E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>REM

E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>REM change the 
working dir


E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>SET 
OPENOCD_DIR="E:\NeuOrga
\Programmieren\c_cpp\github_os\input\tools\misc\openocd-0.10.0"

E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>SET 
WRK_DIR="D:\Programm\GN
U Tools ARM Embedded\4.9 2015q1\bin"

E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>SET 
SRC_DIR="E:\NeuOrga\Pro
grammieren\c_cpp\github_os\output\VERSION_ARM"

E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>cd /D 
"E:\NeuOrga\Programmi
eren\c_cpp\github_os\input\tools\misc\openocd-0.10.0"

E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools\misc\openocd-0.10.0 
>"E:\Neu
Orga\Programmieren\c_cpp\github_os\input\tools\misc\openocd-0.10.0"\bin- 
x64\open
ocd.exe -f 
"E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools\misc\openocd-0.
10.0"\scripts\board\stm32f4discovery.cfg -c init -c "reset init" -c 
"gdb_port 49
624" -c "telnet_port 49623"
Open On-Chip Debugger 0.10.0
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.org/doc/doxygen/bugs.html
Info : The selected transport took over low-level target control. The 
results mi
ght differ compared to plain JTAG/SWD
adapter speed: 2000 kHz
adapter_nsrst_delay: 100
none separate
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
Info : clock speed 1800 kHz
Info : STLINK v2 JTAG v29 API v2 SWIM v0 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 2.909307
Info : stm32f4x.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
adapter speed: 1800 kHz
target halted due to debug-request, current mode: Thread
xPSR: 00000000 pc: 0x08006468 msp: 0x2000304c
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
adapter speed: 4000 kHz
Warn : unable to change server port after init


E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools\misc\openocd-0.10.0 
>cd  /D "
D:\Programm\GNU Tools ARM Embedded\4.9 2015q1\bin"

D:\Programm\GNU Tools ARM Embedded\4.9 2015q1\bin>"D:\Programm\GNU Tools 
ARM Emb
edded\4.9 2015q1\bin"\arm-none-eabi-gdb.exe 
"E:\NeuOrga\Programmieren\c_cpp\gith
ub_os\output\VERSION_ARM"\operating_system.elf
GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150304-cvs
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>;
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show 
copying"
and "show warranty" for details.
This GDB was configured as "--host=i686-w64-mingw32 
--target=arm-none-eabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>;.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>;.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from 
E:\NeuOrga\Programmieren\c_cpp\github_os\output\VERSION_ARM
\operating_system.elf...(no debugging symbols found)...done.
(gdb) run
Don't know how to run.  Try "help target".
(gdb) target remote localhost:3333
localhost:3333: Das System hat versucht, einem Verzeichnis, das sich auf 
einem m
it JOIN zugeordneten Laufwerk befindet, ein Laufwerk mit SUBST 
zuzuordnen.
(gdb) target remote localhost:49623
localhost:49623: Das System hat versucht, einem Verzeichnis, das sich 
auf einem
mit JOIN zugeordneten Laufwerk befindet, ein Laufwerk mit SUBST 
zuzuordnen.
(gdb) target remote localhost:49624
localhost:49624: Das System hat versucht, einem Verzeichnis, das sich 
auf einem
mit JOIN zugeordneten Laufwerk befindet, ein Laufwerk mit SUBST 
zuzuordnen.
(gdb)

: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

Volker J. schrieb:
> Warn : unable to change server port after init

Deine Reihenfolge der Kommandozeilen Parameter ist falsch, die Server 
Ports müssen zuerst stehen. Also -c init -c "reset init" ganz nach 
hinten schieben.

Möglicheweise sind dann gar keine Ports mehr offen - kann man bei 
laufendem OpenOCD mit "netstat -an" prüfen.

Volker J. schrieb:
> (gdb) target remote localhost:3333
> localhost:3333: Das System hat versucht, einem Verzeichnis, das sich auf


Blöde deutsche Übersetzung. Da ist vermutlich der Fehlercode verrutscht 
oder ungültig.

Was Dir der Fehler sagen soll: OpenOCD hat den Port 3333 nicht 
aufgemacht, warum auch immer.

Bitte den Copy&Paste Teil das nächste Mal als [ code ] formatieren, 
siehe Formatierung unten.

von Volker J. (volkerj85)


Lesenswert?

Hallo Jim,

vielen Dank für deine hilfreiche Antwort und den Hinweis. OpenOCD fragt 
mich nun "Batchvorgang abbrechen (J/N)" -> verneine mit "n". Der Befehl 
"target remote localhost:3333" wird mit einem Fehler beantwortet 
"localhost:3333: Es konnte keine Verbindung hergestellt werden, da der 
Zielcomputer die Verbindung verweigerte.". Dabei entsteht dieser log, 
hat vielleicht einer noch einen Tipp für mich, vielen Dank:
1
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>REM
2
3
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>REM
4
5
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>REM
6
7
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>REM change the working dir
8
9
10
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>SET OPENOCD_DIR="E:\NeuOrga
11
\Programmieren\c_cpp\github_os\input\tools\misc\openocd-0.10.0"
12
13
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>SET WRK_DIR="D:\Programm\GN
14
U Tools ARM Embedded\4.9 2015q1\bin"
15
16
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>SET SRC_DIR="E:\NeuOrga\Pro
17
grammieren\c_cpp\github_os\output\VERSION_ARM"
18
19
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>cd /D "E:\NeuOrga\Programmi
20
eren\c_cpp\github_os\input\tools\misc\openocd-0.10.0"
21
22
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools\misc\openocd-0.10.0>"E:\Neu
23
Orga\Programmieren\c_cpp\github_os\input\tools\misc\openocd-0.10.0"\bin-x64\open
24
ocd.exe -f "E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools\misc\openocd-0.
25
10.0"\scripts\board\stm32f4discovery.cfg -c "gdb_port 49624" -c "telnet_port 496
26
23" -c init -c "reset init"
27
Open On-Chip Debugger 0.10.0
28
Licensed under GNU GPL v2
29
For bug reports, read
30
        http://openocd.org/doc/doxygen/bugs.html
31
Info : The selected transport took over low-level target control. The results mi
32
ght differ compared to plain JTAG/SWD
33
adapter speed: 2000 kHz
34
adapter_nsrst_delay: 100
35
none separate
36
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
37
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
38
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
39
Info : clock speed 1800 kHz
40
Info : STLINK v2 JTAG v29 API v2 SWIM v0 VID 0x0483 PID 0x3748
41
Info : using stlink api v2
42
Info : Target voltage: 2.909307
43
Info : stm32f4x.cpu: hardware has 6 breakpoints, 4 watchpoints
44
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
45
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
46
adapter speed: 1800 kHz
47
target halted due to debug-request, current mode: Thread
48
xPSR: 00000000 pc: 0x08006468 msp: 0x2000304c
49
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
50
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
51
adapter speed: 4000 kHz
52
Batchvorgang abbrechen (J/N)? N
53
54
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools\misc\openocd-0.10.0>netstat
55
 -an
56
57
Aktive Verbindungen
58
59
  Proto  Lokale Adresse         Remoteadresse          Status
60
  TCP    0.0.0.0:135            0.0.0.0:0              ABHÖREN
61
  TCP    0.0.0.0:445            0.0.0.0:0              ABHÖREN
62
  TCP    0.0.0.0:17500          0.0.0.0:0              ABHÖREN
63
  TCP    0.0.0.0:23443          0.0.0.0:0              ABHÖREN
64
  TCP    0.0.0.0:27036          0.0.0.0:0              ABHÖREN
65
  TCP    0.0.0.0:49152          0.0.0.0:0              ABHÖREN
66
  TCP    0.0.0.0:49153          0.0.0.0:0              ABHÖREN
67
  TCP    0.0.0.0:49154          0.0.0.0:0              ABHÖREN
68
  TCP    0.0.0.0:49155          0.0.0.0:0              ABHÖREN
69
  TCP    0.0.0.0:49156          0.0.0.0:0              ABHÖREN
70
  TCP    0.0.0.0:49227          0.0.0.0:0              ABHÖREN
71
  TCP    127.0.0.1:843          0.0.0.0:0              ABHÖREN
72
  TCP    127.0.0.1:3213         0.0.0.0:0              ABHÖREN
73
  TCP    127.0.0.1:3215         0.0.0.0:0              ABHÖREN
74
  TCP    127.0.0.1:3216         0.0.0.0:0              ABHÖREN
75
  TCP    127.0.0.1:3217         0.0.0.0:0              ABHÖREN
76
  TCP    127.0.0.1:17600        0.0.0.0:0              ABHÖREN
77
  TCP    127.0.0.1:27060        0.0.0.0:0              ABHÖREN
78
  TCP    127.0.0.1:49165        127.0.0.1:49166        HERGESTELLT
79
  TCP    127.0.0.1:49166        127.0.0.1:49165        HERGESTELLT
80
  TCP    127.0.0.1:49170        127.0.0.1:49171        HERGESTELLT
81
  TCP    127.0.0.1:49171        127.0.0.1:49170        HERGESTELLT
82
  TCP    127.0.0.1:49182        127.0.0.1:49183        HERGESTELLT
83
  TCP    127.0.0.1:49183        127.0.0.1:49182        HERGESTELLT
84
  TCP    127.0.0.1:49242        127.0.0.1:65001        HERGESTELLT
85
  TCP    127.0.0.1:49293        0.0.0.0:0              ABHÖREN
86
  TCP    127.0.0.1:49302        127.0.0.1:49303        HERGESTELLT
87
  TCP    127.0.0.1:49303        127.0.0.1:49302        HERGESTELLT
88
  TCP    127.0.0.1:49311        127.0.0.1:49312        HERGESTELLT
89
  TCP    127.0.0.1:49312        127.0.0.1:49311        HERGESTELLT
90
  TCP    127.0.0.1:49315        127.0.0.1:49316        HERGESTELLT
91
  TCP    127.0.0.1:49316        127.0.0.1:49315        HERGESTELLT
92
  TCP    127.0.0.1:49341        127.0.0.1:49342        HERGESTELLT
93
  TCP    127.0.0.1:49342        127.0.0.1:49341        HERGESTELLT
94
  TCP    127.0.0.1:50060        127.0.0.1:50061        HERGESTELLT
95
  TCP    127.0.0.1:50061        127.0.0.1:50060        HERGESTELLT
96
  TCP    127.0.0.1:50066        127.0.0.1:50067        HERGESTELLT
97
  TCP    127.0.0.1:50067        127.0.0.1:50066        HERGESTELLT
98
  TCP    127.0.0.1:65000        0.0.0.0:0              ABHÖREN
99
  TCP    127.0.0.1:65001        0.0.0.0:0              ABHÖREN
100
  TCP    127.0.0.1:65001        127.0.0.1:49242        HERGESTELLT
101
  TCP    192.168.0.213:139      0.0.0.0:0              ABHÖREN
102
  TCP    192.168.0.213:49254    162.254.196.83:443     HERGESTELLT
103
  TCP    192.168.0.213:49265    159.153.191.240:443    HERGESTELLT
104
  TCP    192.168.0.213:49266    159.153.191.239:443    HERGESTELLT
105
  TCP    192.168.0.213:49307    54.164.231.203:443     SCHLIESSEN_WARTEN
106
  TCP    192.168.0.213:49310    162.125.18.133:443     HERGESTELLT
107
  TCP    192.168.0.213:49313    162.125.18.133:443     HERGESTELLT
108
  TCP    192.168.0.213:49334    54.167.12.94:80        HERGESTELLT
109
  TCP    192.168.0.213:50071    162.125.33.7:443       SCHLIESSEN_WARTEN
110
  TCP    192.168.0.213:50073    40.67.251.134:443      HERGESTELLT
111
  TCP    192.168.0.213:50074    54.148.54.224:443      HERGESTELLT
112
  TCP    192.168.0.213:50076    13.107.3.128:443       HERGESTELLT
113
  TCP    192.168.56.1:139       0.0.0.0:0              ABHÖREN
114
  TCP    [::]:135               [::]:0                 ABHÖREN
115
  TCP    [::]:445               [::]:0                 ABHÖREN
116
  TCP    [::]:17500             [::]:0                 ABHÖREN
117
  TCP    [::]:49152             [::]:0                 ABHÖREN
118
  TCP    [::]:49153             [::]:0                 ABHÖREN
119
  TCP    [::]:49154             [::]:0                 ABHÖREN
120
  TCP    [::]:49155             [::]:0                 ABHÖREN
121
  TCP    [::]:49156             [::]:0                 ABHÖREN
122
  TCP    [::]:49227             [::]:0                 ABHÖREN
123
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:49300  [2620:100:6022:3::a27d:4
124
203]:443  SCHLIESSEN_WARTEN
125
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:49301  [2620:100:6022:3::a27d:4
126
203]:443  SCHLIESSEN_WARTEN
127
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:49309  [2620:100:6022:7::a27d:4
128
207]:443  SCHLIESSEN_WARTEN
129
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:49314  [2620:100:6022:3::a27d:4
130
203]:443  SCHLIESSEN_WARTEN
131
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:49344  [2a00:1450:400c:c0a::6c]
132
:993  HERGESTELLT
133
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:49345  [2a00:1450:400c:c0a::6c]
134
:993  HERGESTELLT
135
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:50035  [2a00:1450:4013:c01::6d]
136
:993  HERGESTELLT
137
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:50047  [2a00:1450:4013:c01::6d]
138
:993  HERGESTELLT
139
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:50048  [2a00:1450:4013:c01::6d]
140
:993  HERGESTELLT
141
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:50050  [2a00:1450:4013:c01::6d]
142
:993  HERGESTELLT
143
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:50055  [2a00:1450:4013:c00::69]
144
:443  WARTEND
145
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:50056  [2a02:26f0:ee::58dd:74f9
146
]:80  WARTEND
147
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:50059  [2a00:1450:4001:806::200
148
a]:443  WARTEND
149
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:50062  [2a00:1450:4001:80b::200
150
e]:80  WARTEND
151
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:50063  [2a00:1450:4001:80b::200
152
e]:443  WARTEND
153
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:50064  [2a00:1450:4001:80b::200
154
2]:443  WARTEND
155
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:50078  [2a00:1450:4001:806::200
156
2]:443  HERGESTELLT
157
  TCP    [2a02:908:1c1:2b60:fdf2:ba65:2717:40ea]:50079  [2a00:1450:4001:80b::200
158
e]:80  HERGESTELLT
159
  UDP    0.0.0.0:5355           *:*
160
  UDP    0.0.0.0:17500          *:*
161
  UDP    0.0.0.0:17500          *:*
162
  UDP    0.0.0.0:27036          *:*
163
  UDP    0.0.0.0:58406          *:*
164
  UDP    0.0.0.0:59391          *:*
165
  UDP    0.0.0.0:59475          *:*
166
  UDP    127.0.0.1:1900         *:*
167
  UDP    127.0.0.1:48201        *:*
168
  UDP    127.0.0.1:53496        *:*
169
  UDP    127.0.0.1:54357        *:*
170
  UDP    127.0.0.1:54358        *:*
171
  UDP    127.0.0.1:54566        *:*
172
  UDP    127.0.0.1:56593        *:*
173
  UDP    127.0.0.1:56627        *:*
174
  UDP    127.0.0.1:56720        *:*
175
  UDP    127.0.0.1:56721        *:*
176
  UDP    127.0.0.1:61298        *:*
177
  UDP    127.0.0.1:63377        *:*
178
  UDP    127.0.0.1:65000        *:*
179
  UDP    192.168.0.213:137      *:*
180
  UDP    192.168.0.213:138      *:*
181
  UDP    192.168.0.213:1900     *:*
182
  UDP    192.168.0.213:5353     *:*
183
  UDP    192.168.56.1:137       *:*
184
  UDP    192.168.56.1:138       *:*
185
  UDP    192.168.56.1:1900      *:*
186
  UDP    192.168.56.1:5353      *:*
187
  UDP    [::]:5355              *:*
188
  UDP    [::]:27036             *:*
189
  UDP    [::]:59392             *:*
190
  UDP    [::1]:1900             *:*
191
  UDP    [::1]:5353             *:*
192
  UDP    [::1]:56626            *:*
193
  UDP    [fe80::5947:e917:7fca:1997%6]:1900  *:*
194
  UDP    [fe80::f8b2:34a6:3328:3587%3]:1900  *:*
195
196
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools\misc\openocd-0.10.0>cd /D "
197
D:\Programm\GNU Tools ARM Embedded\4.9 2015q1\bin"
198
199
D:\Programm\GNU Tools ARM Embedded\4.9 2015q1\bin>"D:\Programm\GNU Tools ARM Emb
200
edded\4.9 2015q1\bin"\arm-none-eabi-gdb.exe "E:\NeuOrga\Programmieren\c_cpp\gith
201
ub_os\output\VERSION_ARM"\operating_system.elf
202
GNU gdb (GNU Tools for ARM Embedded Processors) 7.8.0.20150304-cvs
203
Copyright (C) 2014 Free Software Foundation, Inc.
204
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
205
This is free software: you are free to change and redistribute it.
206
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
207
and "show warranty" for details.
208
This GDB was configured as "--host=i686-w64-mingw32 --target=arm-none-eabi".
209
Type "show configuration" for configuration details.
210
For bug reporting instructions, please see:
211
<http://www.gnu.org/software/gdb/bugs/>.
212
Find the GDB manual and other documentation resources online at:
213
<http://www.gnu.org/software/gdb/documentation/>.
214
For help, type "help".
215
Type "apropos word" to search for commands related to "word"...
216
Reading symbols from E:\NeuOrga\Programmieren\c_cpp\github_os\output\VERSION_ARM
217
\operating_system.elf...(no debugging symbols found)...done.
218
(gdb) target remote localhost:3333
219
localhost:3333: Es konnte keine Verbindung hergestellt werden, da der Zielcomput
220
er die Verbindung verweigerte.
221
(gdb)

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

Dreh mal die backslashes in dem Argument mit dem Dateinamen zu slashes 
um.

von Volker J. (volkerj85)


Lesenswert?

Hallo,

vielen Dank für die Antwort.

ich habe nun \ durch / ersetzt beim Aufruf von OpenOCD aber kann keine 
Auswirkung sehen. Am Ende steht dann "adapter speed: 1800 kHz" und ein 
blinkender Cursor, ohne dass die bat-Datei weiter abgearbeitet wird. 
Woran könnte das liegen?

bat-Datei:
-----------------
1
REM
2
REM
3
REM
4
REM change the working dir
5
SET OPENOCD_DIR=E:/NeuOrga/Programmieren/c_cpp/github_os/input/tools/misc/openocd-0.10.0
6
SET WRK_DIR="D:\Programm\GNU Tools ARM Embedded\4.9 2015q1\bin"
7
SET SRC_DIR="E:\NeuOrga\Programmieren\c_cpp\github_os\output\VERSION_ARM"
8
9
cd /D %OPENOCD_DIR%
10
%OPENOCD_DIR%\bin-x64\openocd.exe -f %OPENOCD_DIR%/scripts/board/stm32f4discovery.cfg -c gdb_port 49624 -c telnet_port 49623 -c init -c reset init
11
netstat -an
12
cd /D %WRK_DIR%
13
%WRK_DIR%\arm-none-eabi-gdb.exe %SRC_DIR%\operating_system.elf
14
pause




Konsolenausgabe:
-----------------
1
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>REM
2
3
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>REM
4
5
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>REM
6
7
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>REM change the working dir
8
9
10
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>SET OPENOCD_DIR=E:/NeuOrga/
11
Programmieren/c_cpp/github_os/input/tools/misc/openocd-0.10.0
12
13
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>SET WRK_DIR="D:\Programm\GN
14
U Tools ARM Embedded\4.9 2015q1\bin"
15
16
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>SET SRC_DIR="E:\NeuOrga\Pro
17
grammieren\c_cpp\github_os\output\VERSION_ARM"
18
19
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools>cd /D E:/NeuOrga/Programmie
20
ren/c_cpp/github_os/input/tools/misc/openocd-0.10.0
21
22
E:\NeuOrga\Programmieren\c_cpp\github_os\input\tools\misc\openocd-0.10.0>E:/NeuO
23
rga/Programmieren/c_cpp/github_os/input/tools/misc/openocd-0.10.0\bin-x64\openoc
24
d.exe -f E:/NeuOrga/Programmieren/c_cpp/github_os/input/tools/misc/openocd-0.10.
25
0/scripts/board/stm32f4discovery.cfg -c gdb_port 49624 -c telnet_port 49623 -c i
26
nit -c reset init
27
Open On-Chip Debugger 0.10.0
28
Licensed under GNU GPL v2
29
For bug reports, read
30
        http://openocd.org/doc/doxygen/bugs.html
31
Info : The selected transport took over low-level target control. The results mi
32
ght differ compared to plain JTAG/SWD
33
adapter speed: 2000 kHz
34
adapter_nsrst_delay: 100
35
none separate
36
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
37
3333
38
4444
39
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
40
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
41
Info : clock speed 1800 kHz
42
Info : STLINK v2 JTAG v29 API v2 SWIM v0 VID 0x0483 PID 0x3748
43
Info : using stlink api v2
44
Info : Target voltage: 2.916221
45
Info : stm32f4x.cpu: hardware has 6 breakpoints, 4 watchpoints
46
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
47
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
48
adapter speed: 1800 kHz

von Jim M. (turboj)


Lesenswert?

Volker J. schrieb:
> Am Ende steht dann "adapter speed: 1800 kHz" und ein
> blinkender Cursor, ohne dass die bat-Datei weiter abgearbeitet wird.
> Woran könnte das liegen?

Daran dass OpenOCD ein Konsolenprogramm ist. Lies: Das wäre der Zustand 
in dem OpenOCD korrekt arbeitet.

Übrigens kann localhost:3333 nicht funktionieren, weil Deine 
Kommandozeile den Port auf 49624 verlegt. /me dachte der OP würde dies 
absichtlich tun.

von Volker J. (volkerj85)


Lesenswert?

Vielen Dank euch allen, es funktioniert nun.

1. starten von OpenOCD
---------------------
1
REM
2
REM
3
REM
4
REM change the working dir
5
SET OPENOCD_DIR=E:/NeuOrga/Programmieren/c_cpp/github_os/input/tools/misc/openocd-0.10.0
6
SET WRK_DIR="D:\Programm\GNU Tools ARM Embedded\4.9 2015q1\bin"
7
SET SRC_DIR="E:\NeuOrga\Programmieren\c_cpp\github_os\output\VERSION_ARM"
8
9
cd /D %OPENOCD_DIR%
10
%OPENOCD_DIR%\bin-x64\openocd.exe -f %OPENOCD_DIR%/scripts/board/stm32f4discovery.cfg -c gdb_port 3333 -c telnet_port 3334 -c init -c reset init
11
netstat -an
12
pause

2. Starten von gdb
---------------------
1
REM change the working dir
2
SET WRK_DIR="D:\Programm\GNU Tools ARM Embedded\4.9 2015q1\bin"
3
SET SRC_DIR="E:\NeuOrga\Programmieren\c_cpp\github_os\output\VERSION_ARM"
4
cd /D %WRK_DIR%
5
%WRK_DIR%\arm-none-eabi-gdb.exe %SRC_DIR%\operating_system.elf
6
pause

3. Verbindung aufbauen, Breakpoint setzen, laden der Symbole, Starten
---------------------
1
<gdb> target remote localhost:3333
2
<gdb> b OS_STATE_HANDLER
3
<gdb> load E:/NeuOrga/Programmieren/c_cpp/github_os/output/VERSION_ARM/operating_system.elf
4
<gdb> continue

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.