2016-08-17 7 views
3

信頼性の高いデバッグ設定を取得できません。 私はネット上のいくつかのフォーラムで同様のタイトルで他のスレッドを見ましたが、状況は異なって見えます。理由7 - ターゲットをリセットする必要がある - 信頼性の低いデバッグ設定

セットアップ:

  • のLinux(Xubuntuの)64
  • のEclipse CDT、ネオン4.6.0
  • "GDBハードウェアデバッグ" プラグイン日食からは&遅延3秒をリセットするように構成され、 "新しいソフトウェアをインストールします" 、停止;ロード・シンボル(すべてのチェックボックス、いないカスタムコマンド)
  • アームなし-EABI-GCC 4.8.3ツールチェーン
  • それらによって提供されるスクリプトと私の正確なMCU用に構成された独自のコンソールで実行されている最近ダウンロードOpenOCD、、、& st-link
  • STM32L476RGハードフロート付きMCUを使用しています。
  • ST-LinkのV2デバッガ(スタンドアロン)

は今、「そこに私がいるとシーケンスは、すべての時間は、いくつかの闘争の後、デバッガを使用して接続することができるが、doesnの変数をステッピングと読んで私は1秒間見ているものを信頼すると確信しています。 しかし、呼び出しスタックが明白なナンセンスエントリではなく、そのうちごくわずかしか疲れていないその時点に到達することさえも、疲れている。

例:

  • フラッシュファームウェアを持つデバイス。これは通常問題なく動作します。
  • openocdを開始してください。
  • Eclipseでデバッグを開始します。
  • OpenOcdは次のように言っています: "未定義のデバッグ理由7 - ターゲットがリセットする必要があります"
  • Eclipseで "resume"ボタンを押しても、プログラムは偽のトップスタックフレームを超えて実行されます。
  • 「サスペンド」(まだコールスタックでは偽装)を押してから「終了」を押します。
  • OpenOcdからCtrl + Cを押します。
  • stm32 MCUを手動で(ハードウェアで)リセットします。
  • OpenOcdを再起動します。
  • Eclipseでデバッグを再開します。

OpenOCD出力:

 
GNU ARM Eclipse 64-bits Open On-Chip Debugger 0.10.0-dev-00287-g85cec24-dirty (2016-01-10-10:31) 
Licensed under GNU GPL v2 
For bug reports, read 
    http://openocd.org/doc/doxygen/bugs.html 
Info : auto-selecting first available session transport "hla_swd". To override use 'transport select '. 
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD 
adapter speed: 500 kHz 
adapter_nsrst_delay: 100 
none separate 
none separate 
Info : Unable to match requested speed 500 kHz, using 480 kHz 
Info : Unable to match requested speed 500 kHz, using 480 kHz 
Info : clock speed 480 kHz 
Info : STLINK v2 JTAG v24 API v2 SWIM v4 VID 0x0483 PID 0x3748 
Info : using stlink api v2 
Info : Target voltage: 3.192646 
Info : stm32l4x.cpu: hardware has 6 breakpoints, 4 watchpoints 
Info : accepting 'gdb' connection on tcp/3333 
Info : device id = 0x10076415 
Info : flash size = 1024kbytes 
undefined debug reason 7 - target needs reset 

は現在、いくつかの幸運と、私は最終的にしばらくの間、多少の作業デバッガ接続を持っています。 しかしこれにはいくつかの繰り返しが必要かもしれません。 接続が間違っているときに「プレス再開」するのはなぜですか?確かに、これは次の反復で私が接続をたくさん持っている可能性を高めるように思われました。

多分関連性のあるノート: MCUにはLCDが接続されており、リセットされてから見ることができます。 何らかの理由で、Eclipseでデバッグを開始すると明らかにではないデバッグ設定でリセットチェックボックスがオンになっていますが、デバイスをリセットします。 ターミナルでOpenOCDへのtelnet接続を開いてそこで「リセット」すると、デバイスはリセットされます。

セットアップの奇妙な動作の原因は何ですか?

+0

openocd .cfgで「リセット停止」を入力するか、gdbで「monitor reset halt」と入力してください。 –

答えて

0

何をOpenOCDクライアントしていますか?ホストgdbを使用して間違いを犯しましたが、このエラーが発生しました。そして、あなたの日食の "デバッグ構成"で私のarm-none-eabi-gdbの場所に私のデバッガのパスを変更した後、問題は消えました。

あなたの投稿からarm-none-eabi-gccツールチェーンを使用したことが記載されているので、をarm-none-eabi-gdbに設定したかどうかはわかりません。これはプロジェクトのツールチェーン設定とは別のものです。

関連する問題