14

私は持っている:

  • eCos OS を搭載した独自のプロトタイプ ARM ボード (Cortex-M3 ベース)
  • ボードには RedBoot ブートローダーがプログラムされています
  • シリアルライン(RS-232)
  • ARM 用 GDB デバッガー (arm-eabi-gdb)
  • ホスト OS は Windows/Cygwin および/または Linux (実際には関係ありません)

問題: GDB デバッガーがシリアル回線経由でターゲットに接続できません。

私が欲しいのは、ターゲット上のGDBスタブが生きていて動作しているかどうかを理解するために、GDBリモートプロトコルのパケットを盗聴することです.

詳細: RedBoot には、ターゲットの制御を組み込みの GDB スタブに渡すオプションがあります。RedBoot が動作していることはわかっています。これに接続して、シリアル ライン経由でコマンドを送信できます。RedBoot のマニュアルによると、GDB スタブへの切り替えは $ または + 記号 (実際には GDB リモート プロトコル パケットのプレフィックス) を入力することで行うことができます。それらのシンボルを送信すると、端末が死ぬときにうまくいくようです。しかし、RedBoot が GDB スタブをサポートするようにコンパイルされているかどうかはわかりません (理由は聞かないでください :-))。

次に、GDB デバッガーを使用してボードに接続しようとすると、次の図が表示されます (Windows の場合)。

(gdb) target remote COM3
Remote debugging using COM3
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...

ポートは正しく、ボーレートも同様です。何にも接続されていない別のシリアルポートで同じことをしようとすると、実際には同じ出力が得られます。

私が知りたいのは、GDB スタブが何かを送り返すかどうかです。

多分そうだと直感的に思った

set verbose on

役に立ちますが、GDBのマニュアルによると、効果は非常に限られており、私の場合はそれを超えています。

デバッグ ログを有効にするマクロを使用して GDB デバッガーをコンパイルすることは可能でしょうか?

4

1 に答える 1

27

私が知りたいのは、GDB スタブが何かを送り返すかどうかです。

これを行います(の前にtarget remote):

(gdb) set debug remote 1
于 2012-11-21T18:36:16.770 に答える