2017-07-17 8 views
-1

私はstm32cubef1ファームウェアバージョンを1.6.0までアップロードして以来、私のボードはもうデバッグできません。私はSWSTM32とST-LINK/V2を使用しています。 私は、Windowsが開き、それが言うことを停止しようとすると、ボタンのように「再生」を押したら:マイコンをデバッグできません

"No source available for "dt_TPS()at 0x20000004" 

dt_TPSが私の変数のいずれかですが。

Open On-Chip Debugger 0.10.0-dev-00302-gc211ca5-dirty (2017-07-03-10:41) 
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 might differ compared to plain JTAG/SWD 
adapter speed: 1000 kHz 
adapter_nsrst_delay: 100 
srst_only separate srst_nogate srst_open_drain connect_assert_srst 
srst_only separate srst_nogate srst_open_drain connect_assert_srst 
Info : clock speed 1000 kHz 
Info : STLINK v2 JTAG v28 API v2 SWIM v6 VID 0x0483 PID 0x3748 
Info : vid/pid are not identical: 0x0483/0x374B 0x0483/0x3748 
Info : using stlink api v2 
Info : Target voltage: 3.239921 
Info : Unable to match requested speed 1000 kHz, using 950 kHz 
Info : STM32F105R8Tx.cpu: hardware has 6 breakpoints, 4 watchpoints 
Info : accepting 'gdb' connection on tcp/3333 
STM32F105R8Tx.cpu: target state: halted 
target halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0x200001e0 msp: 0x20005000 
Info : device id = 0x10016418 
Info : flash size = 64kbytes 
STM32F105R8Tx.cpu: target state: halted 
target halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0x200001e0 msp: 0x20005000 
STM32F105R8Tx.cpu: target state: halted 
target halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0x200001e0 msp: 0x20005000 
Info : Padding image section 0 with 4 bytes 
STM32F105R8Tx.cpu: target state: halted 
target halted due to breakpoint, current mode: Thread 
xPSR: 0x61000000 pc: 0x2000003a msp: 0x20005000 
STM32F105R8Tx.cpu: target state: halted 
target halted due to debug-request, current mode: Thread 
xPSR: 0x01000000 pc: 0x200001e0 msp: 0x20005000 
Error: address + size wrapped(0xffffffff, 0x00000004) 
Error: address + size wrapped(0xffffffff, 0x00000002) 
Error: address + size wrapped(0xffffffff, 0x00000004) 
Error: address + size wrapped(0xffffffff, 0x00000002) 

その他に関する情報:ヌーは、Builderを作成し、私が使用されるマイクロはSTM32F105R8T6 は誰がいます:AC6 STM32 MCU GCC、現在のビルダー:私の現在のツールチェインがあり、私はこれを読んでページの下部にあるウィンドウで 何が起こっているか知っていますか?

+0

ほとんど忘れてしまった:私のマイクロはSTM32F105R8 –

+0

です。コメントを追加するのではなく、質問を編集して省略記号を修正する必要があります。それは目標がOCD出力に明確に示されていると述べた。エラーメッセージは、RAMアドレスで_function_ 'dt_TPS'を探していることを示しています。あなたはきれいにしてビルドしましたか?このアドレスでは、ブートモードをフラッシュではなくSRAMに設定している可能性があります。ボードにはジャンパがありますか? – Clifford

答えて

0

あなたはSRAMからコードを実行しているように見えます。これは珍しいことであり、意図的ではない可能性があります。

プロセッサは、BOOT0ピンとBOOT1ピンが両方ともハイのときにリセット時にSRAMから実行されます。通常、フラッシュからコードをロードして実行します(BOOT0は低、BOOT1は気にしません) - ボードにはブートモード選択用のジャンパーが付いている場合があります。

+0

こんにちはクリフォード、あなたの答えに感謝します。私のボードでは、ブートモードを選択するためにスイッチを使いました。フラッシュから起動すると思います。電源を切ってから電源を入れると、mcuが自分のコードを実行していることがわかります。私は私のファームウェアのバージョンをダウングレードして、今までどおりに動作します。たぶんそれは新しいファームウェアバージョンですか?私は分かりませんが、新しいアップデートが利用できるようになるまで古いバージョンに固執すると思います。 –

+0

@SandroSartoni - あなたの出力に表示されているPCアドレスは明らかにフラッシュではなくRAMにあります。そこで、どちらかの実行がそこで開始されたか、またはフラッシュで開始され、RAMに転送されました。おそらく、スタックの破損または他の種類の暴走によるものです。 –

+0

Occamのカミソリはあなたのコードにエラーがあることを示唆しています。 STM32Cubeは、ファームウェアではなく、ファームウェアを構築するためのライブラリです。 main()に到達していない場合は、リセットされたアドレスにブレークポイントを設定してデバッグする必要があります。 0x02000004はSRAMブートモードのリセットベクタであるため、疑わしいものです。 – Clifford

関連する問題