2

USBを使用してこのコントローラーをプログラムするために使用eclipse CDTするソフトウェアを作成するためにstm32f0-discovery使用しています。ST-link

数日前、私OpenOCD6.0.1はこのチュートリアルに従ってチップをデバッグしました:

デバッガのチュートリアル

数時間後、私はこの作業を行い、プログラムの設定ブレークポイントと他のすべての通常のデバッグを真に実行できるようになりました。さて、ここで奇妙なことが起こりました。私は自分の設定を -> Monitor reset halt から -> monitor soft_reset_halt に変更し始めました。これを行ったのは、3 本のワイヤ (SWD プログラミング) だけを使用してプログラムできる stm32f0 シリーズのチップを搭載したボードを最終的に開発したいからです。これがうまくいかなかったので、リセットの停止を監視するように設定を復元しました。

今日、私は自分のチップをデバッグしたかったのですが、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 は、ターゲットからレジスタの状態を取得します。

グーグルで調べた後、これを引き起こしている原因に対する答えが見つかりません。誰もがこの問題を解決する手がかりを持っていますか?

4

1 に答える 1

1

わかりました、私はこれを見つけました。私は複数の stm32f0discovery ボードを使用しているからです (1 つは仕事用、もう 1 つは自宅の趣味用)。ボードの構成が異なっていました。したがって、動作していないボードのファームウェアを更新する必要がありました。ファームウェアは、自宅にあるものよりも 2 バージョン古いものでした。

問題が解決しました :)

于 2013-01-18T12:23:43.923 に答える