我正在eclipse CDT
制作软件,用于stm32f0-discovery
使用ST-link
USB 对该控制器进行编程。
几天前,OpenOCD6.0.1
我按照本教程开始调试我的芯片:
几个小时后,我完成了这项工作,能够逐步实现我的程序设置断点和所有其他通常的调试内容。现在,奇怪的事情发生了。我开始将我的配置从 -> Monitor reset halt 更改为 -> monitor soft_reset_halt 。我这样做是因为我最终想开发一个带有 stm32f0 系列芯片的电路板,我只能使用三根线进行编程(SWD 编程)。因为我没有让它工作,所以我恢复了设置以监控重置暂停。
今天我想调试我的芯片,我遇到了以下问题,当我开始调试时,eclipse告诉我我的设备在它的重置处理程序中(这对我来说似乎是正确的,因为monitor reset halt命令)此时openocd输出是:
Open On-Chip Debugger 0.6.1 (2012-10-07-10:34)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.sourceforge.net/doc/doxygen/bugs.html
adapter speed: 1000 kHz
srst_only separate srst_nogate srst_open_drain
Info : clock speed 1000 kHz
Info : stm32f0x.cpu: hardware has 4 breakpoints, 2 watchpoints
Info : accepting 'gdb' connection from 3333
Info : device id = 0x20006440
Info : flash size = 64kbytes
Warn : acknowledgment received, but no packet pending
undefined debug reason 6 - target needs reset
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0xc1000000 pc: 0x0800291c msp: 0x20002000
Info : Padding image section 0 with 4 bytes
target state: halted
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000003a msp: 0x20002000
Warn : stepi ignored. GDB will now fetch the register state from the target.
现在,我想跨过重置处理程序来启动我的程序,然后我收到这个警告:
警告:stepi 被忽略。GDB 现在将从目标中获取寄存器状态。
经过一番谷歌搜索后,我找不到任何导致此问题的原因。有没有人有解决这个问题的线索。