I’ve tried this on both windows (0.5.0) and Mac (latest git code) with an STM32F103RF (XL density). In each case, the program crashes after 46 seconds:
time openocd -f interface/busblaster.cfg -f target/stm32xl.cfg
Open On-Chip Debugger 0.6.0-dev-00128-g36e3009 (2011-10-19-09:26)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
1000 kHz
cortex_m3 reset_config sysresetreq
Info : max TCK change to: 30000 kHz
Info : clock speed 1000 kHz
Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32.bs tap/device found: 0x06430041 (mfg: 0x020, part: 0x6430, ver: 0x0)
Segmentation fault: 11
real 0m45.935s
user 0m2.031s
sys 0m4.249s
The board is something I designed myself, so it is entirely within the realms of possibility that I messed something up. But the JTAG seems to get most of the way so I’m not sure whether it is something wrong with OpenOCD or my board!
When I run openocd on another device (STM32F103RBT6) The jtag is fine:
openocd -f interface/busblaster.cfg -f target/stm32f1x.cfg
Open On-Chip Debugger 0.6.0-dev-00128-g36e3009 (2011-10-19-09:26)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
1000 kHz
adapter_nsrst_delay: 100
jtag_ntrst_delay: 100
none separate
cortex_m3 reset_config sysresetreq
Info : max TCK change to: 30000 kHz
Info : clock speed 1000 kHz
Info : JTAG tap: stm32.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3)
Info : JTAG tap: stm32.bs tap/device found: 0x16410041 (mfg: 0x020, part: 0x6410, ver: 0x1)
Info : stm32.cpu: hardware has 6 breakpoints, 4 watchpoints
So what could be happening before getting to “Info : stm32.cpu: hardware has 6 breakpoints, 4 watchpoints” which isnt working on the XL device?