I try to connect to a STM32F030F4 with the STM32F4-discovery board with via SWD(CLK, Data, Reset). After 6 hours and no further hints from the internet i create this ticket. Programming with ST-Link-Util works fine. Also reading device id deliveres correct number.
Please, can you help me.
source [find interface/stlink-v2.cfg]
source [find target/stm32f0x_stlink.cfg]
reset_config srst_only srst_nogate connect_assert_srst
monitor reset init
load
monitor reset run
Open On-Chip Debugger 0.9.0-dev-00067-g2502d8a (2014-06-26-08:25)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Using:
hla_swd
srst_only separate srst_nogate srst_open_drain connect_assert_srst
Info : This adapter doesn't support configurable speed
Info : STLINK v2 JTAG v21 API v2 SWIM v0 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 2.905785
Info : stm32f0x.cpu: hardware has 4 breakpoints, 2 watchpoints
Info : accepting 'gdb' connection on tcp/3333
Info : device id = 0x00000000
Warn : Cannot identify target as a STM32 family.
Error: auto_probe failed
Error: Connect failed. Consider setting up a gdb-attach event for the target to
prepare target for GDB connect, or use 'gdb_memory_map disable'.
Error: attempted 'gdb' connection rejected
Debug: 102 578 command.c:366 register_command_handler(): registering 'ocd_stm32f
0x.cpu'...
Debug: 103 578 command.c:366 register_command_handler(): registering 'ocd_stm32f
0x.cpu'...
Debug: 104 594 command.c:366 register_command_handler(): registering 'ocd_stm32f
0x.cpu'...
Debug: 105 594 command.c:366 register_command_handler(): registering 'ocd_stm32f
0x.cpu'...
Debug: 106 609 command.c:366 register_command_handler(): registering 'ocd_stm32f
0x.cpu'...
Debug: 107 609 command.c:145 script_debug(): command - ocd_command ocd_command t
ype ocd_stm32f0x.cpu configure -work-area-phys 0x20000000 -work-area-size 0x1000
-work-area-backup 0
Debug: 108 625 command.c:145 script_debug(): command - ocd_stm32f0x.cpu ocd_stm3
2f0x.cpu configure -work-area-phys 0x20000000 -work-area-size 0x1000 -work-area-
backup 0
Debug: 109 641 target.c:1722 target_free_all_working_areas_restore(): freeing al
l working areas
Debug: 110 641 target.c:1722 target_free_all_working_areas_restore(): freeing al
l working areas
Debug: 111 656 target.c:1722 target_free_all_working_areas_restore(): freeing al
l working areas
Debug: 112 656 command.c:145 script_debug(): command - ocd_command ocd_command t
ype ocd_flash bank stm32f0x.flash stm32f1x 0 0 0 0 stm32f0x.cpu
Debug: 113 672 command.c:145 script_debug(): command - ocd_flash ocd_flash bank
stm32f0x.flash stm32f1x 0 0 0 0 stm32f0x.cpu
Debug: 116 672 command.c:366 register_command_handler(): registering 'ocd_stm32f
1x'...
Debug: 117 688 command.c:366 register_command_handler(): registering 'ocd_stm32f
1x'...
Debug: 118 688 command.c:366 register_command_handler(): registering 'ocd_stm32f
1x'...
Debug: 119 703 command.c:366 register_command_handler(): registering 'ocd_stm32f
1x'...
Debug: 120 703 command.c:366 register_command_handler(): registering 'ocd_stm32f
1x'...
Debug: 121 703 tcl.c:804 handle_flash_bank_command(): 'stm32f1x' driver usage fi
eld missing
Debug: 122 719 command.c:145 script_debug(): command - ocd_command ocd_command t
ype ocd_reset_config srst_only srst_nogate connect_assert_srst
Debug: 123 719 command.c:145 script_debug(): command - reset_config ocd_reset_co
nfig srst_only srst_nogate connect_assert_srst
User : 125 734 command.c:546 command_print(): srst_only separate srst_nogate srs
t_open_drain connect_assert_srst
Debug: 126 750 command.c:145 script_debug(): command - ocd_command ocd_command t
ype ocd_init
Debug: 127 766 command.c:145 script_debug(): command - init ocd_init
Debug: 129 766 command.c:145 script_debug(): command - ocd_command ocd_command t
ype ocd_target init
Debug: 130 781 command.c:145 script_debug(): command - ocd_target ocd_target ini
t
Debug: 132 781 command.c:145 script_debug(): command - ocd_command ocd_command t
ype ocd_target names
Debug: 133 781 command.c:145 script_debug(): command - ocd_target ocd_target nam
es
Debug: 134 797 command.c:145 script_debug(): command - ocd_command ocd_command t
ype ocd_stm32f0x.cpu cget -event gdb-flash-erase-start
Debug: 135 797 command.c:145 script_debug(): command - ocd_stm32f0x.cpu ocd_stm3
2f0x.cpu cget -event gdb-flash-erase-start
Debug: 136 813 command.c:145 script_debug(): command - ocd_command ocd_command t
ype ocd_stm32f0x.cpu configure -event gdb-flash-erase-start reset init
Debug: 137 828 command.c:145 script_debug(): command - ocd_stm32f0x.cpu ocd_stm3
2f0x.cpu configure -event gdb-flash-erase-start reset init
Debug: 138 828 command.c:145 script_debug(): command - ocd_command ocd_command t
ype ocd_stm32f0x.cpu cget -event gdb-flash-write-end
Debug: 139 844 command.c:145 script_debug(): command - ocd_stm32f0x.cpu ocd_stm3
2f0x.cpu cget -event gdb-flash-write-end
Debug: 140 844 command.c:145 script_debug(): command - ocd_command ocd_command t
ype ocd_stm32f0x.cpu configure -event gdb-flash-write-end reset halt
Debug: 141 859 command.c:145 script_debug(): command - ocd_stm32f0x.cpu ocd_stm3
2f0x.cpu configure -event gdb-flash-write-end reset halt
Debug: 142 859 target.c:1285 handle_target_init_command(): Initializing targets.
..
Debug: 143 875 hla_target.c:357 adapter_init_target(): adapter_init_target
Debug: 144 875 command.c:366 register_command_handler(): registering 'ocd_target
request'...
Debug: 145 891 command.c:401 register_command(): command 'trace' is already regi
stered in '<global>' context
Debug: 146 891 command.c:366 register_command_handler(): registering 'ocd_trace'
...
Debug: 147 906 command.c:366 register_command_handler(): registering 'ocd_trace'
...
Debug: 148 906 command.c:366 register_command_handler(): registering 'ocd_fast_l
oad_image'...
Debug: 149 906 command.c:366 register_command_handler(): registering 'ocd_fast_l
oad'...
Debug: 150 922 command.c:366 register_command_handler(): registering 'ocd_profil
e'...
Debug: 151 922 command.c:366 register_command_handler(): registering 'ocd_virt2p
hys'...
Debug: 152 938 command.c:366 register_command_handler(): registering 'ocd_reg'..
.
Debug: 153 938 command.c:366 register_command_handler(): registering 'ocd_poll'.
..
Debug: 154 953 command.c:366 register_command_handler(): registering 'ocd_wait_h
alt'...
Debug: 155 953 command.c:366 register_command_handler(): registering 'ocd_halt'.
..
Debug: 156 969 command.c:366 register_command_handler(): registering 'ocd_resume
'...
Debug: 157 969 command.c:366 register_command_handler(): registering 'ocd_reset'
...
Debug: 158 984 command.c:366 register_command_handler(): registering 'ocd_soft_r
eset_halt'...
Debug: 159 984 command.c:366 register_command_handler(): registering 'ocd_step'.
..
Debug: 160 984 command.c:366 register_command_handler(): registering 'ocd_mdw'..
.
Debug: 161 1000 command.c:366 register_command_handler(): registering 'ocd_mdh'.
..
Debug: 162 1000 command.c:366 register_command_handler(): registering 'ocd_mdb'.
..
Debug: 163 1000 command.c:366 register_command_handler(): registering 'ocd_mww'.
..
Debug: 164 1016 command.c:366 register_command_handler(): registering 'ocd_mwh'.
..
Debug: 165 1016 command.c:366 register_command_handler(): registering 'ocd_mwb'.
..
Debug: 166 1031 command.c:366 register_command_handler(): registering 'ocd_bp'..
.
Debug: 167 1031 command.c:366 register_command_handler(): registering 'ocd_rbp'.
..
Debug: 168 1031 command.c:366 register_command_handler(): registering 'ocd_wp'..
.
Debug: 169 1047 command.c:366 register_command_handler(): registering 'ocd_rwp'.
..
Debug: 170 1047 command.c:366 register_command_handler(): registering 'ocd_load</global>
image'...
Debug: 171 1047 command.c:366 register_command_handler(): registering 'ocd_dump_
image'...
Debug: 172 1063 command.c:366 register_command_handler(): registering 'ocd_verif
y_image'...
Debug: 173 1063 command.c:366 register_command_handler(): registering 'ocd_test_
image'...
Debug: 174 1078 command.c:366 register_command_handler(): registering 'ocd_reset
nag'...
Debug: 175 1078 command.c:366 register_command_handler(): registering 'ocd_ps'..
.
Debug: 176 1078 command.c:366 register_command_handler(): registering 'ocd_test
mem_access'...
Debug: 177 1094 hla_interface.c:108 hl_interface_init(): hl_interface_init
Debug: 178 1094 hla_layout.c:85 hl_layout_init(): hl_layout_init
Info : 179 1094 core.c:1374 adapter_init(): This adapter doesn't support configu
rable speed
Debug: 180 1109 openocd.c:132 handle_init_command(): Debug Adapter init complete
Debug: 181 1109 command.c:145 script_debug(): command - ocd_command ocd_command
type ocd_transport init
Debug: 182 1125 command.c:145 script_debug(): command - ocd_transport ocd_transp
ort init
Debug: 184 1125 transport.c:240 handle_transport_init(): handle_transport_init
Debug: 185 1125 hla_transport.c:148 hl_transport_init(): hl_transport_init
Debug: 186 1141 hla_transport.c:165 hl_transport_init(): current transport hla_s
wd
Debug: 187 1141 hla_interface.c:44 hl_interface_open(): hl_interface_open
Debug: 188 1141 hla_layout.c:42 hl_layout_open(): hl_layout_open
Debug: 189 1156 stlink_usb.c:1593 stlink_usb_open(): stlink_usb_open
Debug: 190 1156 stlink_usb.c:1608 stlink_usb_open(): transport: 1 vid: 0x0483 pi
d: 0x3748
Info : 191 1781 stlink_usb.c:471 stlink_usb_version(): STLINK v2 JTAG v21 API v2
SWIM v0 VID 0x0483 PID 0x3748
Info : 192 1781 stlink_usb.c:1719 stlink_usb_open(): using stlink api v2
Debug: 193 1797 stlink_usb.c:653 stlink_usb_init_mode(): MODE: 0x02
Info : 194 1813 stlink_usb.c:503 stlink_usb_check_voltage(): Target voltage: 2.9
05785
Debug: 195 1813 stlink_usb.c:708 stlink_usb_init_mode(): MODE: 0x02
Debug: 196 1828 stlink_usb.c:734 stlink_usb_init_mode(): MODE: 0x02
Debug: 197 1844 stlink_usb.c:1758 stlink_usb_open(): Using TAR autoincrement: 10
24
Debug: 198 1844 hla_interface.c:129 hl_interface_execute_queue(): hl_interface_e
xecute_queue: ignored
Debug: 199 1859 core.c:716 jtag_add_reset(): SRST line asserted
Debug: 200 1859 core.c:744 jtag_add_reset(): TRST line released
Debug: 201 1875 core.c:324 jtag_call_event_callbacks(): jtag event: TAP reset
Debug: 202 1875 hla_interface.c:69 hl_interface_init_target(): hl_interface_init
_target
Debug: 203 1891 stlink_usb.c:759 stlink_usb_idcode(): IDCODE: 0x0BB11477
Debug: 204 1891 openocd.c:145 handle_init_command(): Examining targets...
Debug: 205 1906 target.c:1401 target_call_event_callbacks(): target event 21 (ex
amine-start)
Debug: 206 1906 hla_target.c:766 adapter_read_memory(): adapter_read_memory 0xe0
00ed00 4 1
Debug: 207 1922 target.c:2064 target_read_u32(): address: 0xe000ed00, value: 0x4
10cc200
Debug: 208 1922 cortex_m.c:1817 cortex_m_examine(): Cortex-M0 r0p0 processor det
ected
Debug: 209 1938 cortex_m.c:1818 cortex_m_examine(): cpuid: 0x410cc200
Debug: 210 1938 hla_target.c:766 adapter_read_memory(): adapter_read_memory 0xe0
002000 4 1
Debug: 211 1953 target.c:2064 target_read_u32(): address: 0xe0002000, value: 0x0
0000040
Debug: 212 1969 target.c:2152 target_write_u32(): address: 0xe0002008, value: 0x
00000000
Debug: 213 1969 hla_target.c:780 adapter_write_memory(): adapter_write_memory 0x
e0002008 4 1
Debug: 214 1984 target.c:2152 target_write_u32(): address: 0xe000200c, value: 0x
00000000
Debug: 215 2000 hla_target.c:780 adapter_write_memory(): adapter_write_memory 0x
e000200c 4 1
Debug: 216 2000 target.c:2152 target_write_u32(): address: 0xe0002010, value: 0x
00000000
Debug: 217 2016 hla_target.c:780 adapter_write_memory(): adapter_write_memory 0x
e0002010 4 1
Debug: 218 2031 target.c:2152 target_write_u32(): address: 0xe0002014, value: 0x
00000000
Debug: 219 2031 hla_target.c:780 adapter_write_memory(): adapter_write_memory 0x
e0002014 4 1
Debug: 220 2047 cortex_m.c:1863 cortex_m_examine(): FPB fpcr 0x40, numcode 4, nu
mlit 0
Debug: 221 2063 hla_target.c:766 adapter_read_memory(): adapter_read_memory 0xe0
001000 4 1
Debug: 222 2078 target.c:2064 target_read_u32(): address: 0xe0001000, value: 0x2
0000000
Debug: 223 2078 target.c:2152 target_write_u32(): address: 0xe0001028, value: 0x
00000000
Debug: 224 2094 hla_target.c:780 adapter_write_memory(): adapter_write_memory 0x
e0001028 4 1
Debug: 225 2094 target.c:2152 target_write_u32(): address: 0xe0001038, value: 0x
00000000
Debug: 226 2109 hla_target.c:780 adapter_write_memory(): adapter_write_memory 0x
e0001038 4 1
Debug: 227 2125 cortex_m.c:1774 cortex_m_dwt_setup(): DWT dwtcr 0x20000000, comp
2, watch/trigger
Info : 228 2125 cortex_m.c:1872 cortex_m_examine(): stm32f0x.cpu: hardware has 4
breakpoints, 2 watchpoints
Debug: 229 2141 target.c:1401 target_call_event_callbacks(): target event 22 (ex
amine-end)
Debug: 230 2141 command.c:145 script_debug(): command - ocd_command ocd_command
type ocd_flash init
Debug: 231 2156 command.c:145 script_debug(): command - ocd_flash ocd_flash init
Debug: 232 2156 log.c:422 keep_alive(): keep_alive() was not invoked in the 1000
ms timelimit (1484). This may cause trouble with GDB connections.
Debug: 235 2172 tcl.c:870 handle_flash_init_command(): Initializing flash device
s...
Debug: 236 2188 command.c:366 register_command_handler(): registering 'ocd_flash
'...
Debug: 237 2188 command.c:366 register_command_handler(): registering 'ocd_flash
'...
Debug: 238 2203 command.c:366 register_command_handler(): registering 'ocd_flash
'...
Debug: 239 2203 command.c:366 register_command_handler(): registering 'ocd_flash
'...
Debug: 240 2203 command.c:366 register_command_handler(): registering 'ocd_flash
'...
Debug: 241 2219 command.c:366 register_command_handler(): registering 'ocd_flash
'...
Debug: 242 2219 command.c:366 register_command_handler(): registering 'ocd_flash
'...
Debug: 243 2234 command.c:366 register_command_handler(): registering 'ocd_flash
'...
Debug: 244 2234 command.c:366 register_command_handler(): registering 'ocd_flash
'...
Debug: 245 2250 command.c:366 register_command_handler(): registering 'ocd_flash
'...
Debug: 246 2250 command.c:366 register_command_handler(): registering 'ocd_flash
'...
Debug: 247 2250 command.c:366 register_command_handler(): registering 'ocd_flash
'...
Debug: 248 2266 command.c:145 script_debug(): command - ocd_command ocd_command
type ocd_mflash init
Debug: 249 2266 command.c:145 script_debug(): command - ocd_mflash ocd_mflash in
it
Debug: 251 2281 mflash.c:1379 handle_mflash_init_command(): Initializing mflash
devices...
Debug: 252 2281 command.c:145 script_debug(): command - ocd_command ocd_command
type ocd_nand init
Debug: 253 2297 command.c:145 script_debug(): command - ocd_nand ocd_nand init
Debug: 255 2297 tcl.c:497 handle_nand_init_command(): Initializing NAND devices.
..
Debug: 256 2313 command.c:145 script_debug(): command - ocd_command ocd_command
type ocd_pld init
Debug: 257 2313 command.c:145 script_debug(): command - ocd_pld ocd_pld init
Debug: 259 2313 pld.c:207 handle_pld_init_command(): Initializing PLDs...
Info : 260 7359 server.c:83 add_connection(): accepting 'gdb' connection on tcp/
3333
Debug: 261 7375 breakpoints.c:359 breakpoint_clear_target_internal(): Delete all
breakpoints for target: stm32f0x.cpu
Debug: 262 7375 breakpoints.c:499 watchpoint_clear_target(): Delete all watchpoi
nts for target: stm32f0x.cpu
Debug: 263 7391 target.c:1401 target_call_event_callbacks(): target event 23 (gd
b-attach)
Debug: 264 7391 hla_target.c:766 adapter_read_memory(): adapter_read_memory 0xe0
00ed00 4 1
Debug: 265 7406 target.c:2064 target_read_u32(): address: 0xe000ed00, value: 0x4
10cc200
Debug: 266 7406 hla_target.c:766 adapter_read_memory(): adapter_read_memory 0x40
015800 4 1
Debug: 267 7422 target.c:2064 target_read_u32(): address: 0x40015800, value: 0x0
0000000
Info : 268 7438 stm32f1x.c:868 stm32x_probe(): device id = 0x00000000
Warn : 269 7438 stm32f1x.c:943 stm32x_probe(): Cannot identify target as a STM32
family.
Error: 270 7438 core.c:217 get_flash_bank_by_num(): auto_probe failed
Error: 271 7438 gdb_server.c:976 gdb_new_connection(): Connect failed. Consider
setting up a gdb-attach event for the target to prepare target for GDB connect,
or use 'gdb_memory_map disable'.
Error: 272 7453 server.c:87 add_connection(): attempted 'gdb' connection rejecte
d
Hello,
I've just tried it on a Nucleo board with STM32F030R8T6 code 330 and got this:
Debug: 338 6924 target.c:2068 target_read_u32(): address: 0x40015800, value: 0x20006440
Info : 339 6924 stm32f1x.c:868 stm32x_probe(): device id = 0x20006440
So it apparently works as expected. Do you have some early silicon version? Do you imply we need to provide facility to manually specify that value for buggy revisions? Does everything else work if you hardcode it?
Lack of feedback, closing.