Ubuntu 12.04 にgcc-arm-linux-gnueabihfクロスコンパイラをインストールしたところ、組み込み機器向けのプログラムをビルドできるようになりました。デバッグ用の cross gdb はどこにありますか?
gcc-arm-linux-gnueabihf リファレンスには、関連パッケージ リストに gdb-arm-linux-gnueabihf が含まれています。これは、私が探しているデバッガーのようです。しかし、このパッケージは利用できません。
Ubuntu 12.04 にgcc-arm-linux-gnueabihfクロスコンパイラをインストールしたところ、組み込み機器向けのプログラムをビルドできるようになりました。デバッグ用の cross gdb はどこにありますか?
gcc-arm-linux-gnueabihf リファレンスには、関連パッケージ リストに gdb-arm-linux-gnueabihf が含まれています。これは、私が探しているデバッガーのようです。しかし、このパッケージは利用できません。
Ubuntu リポジトリではなく、 Linaro ツールチェーンからgdbを取得することをお勧めします。ここから gcc-linaro-arm-linux-gnueabihf-4.7-2012.10-20121022_linux.tar.bz2 をダウンロードすると、以下が見つかります。
bin/arm-linux-gnueabihf-gdb
arm-linux-gnueabihf/debug-root/usr/bin/gdbserver
後者は静的にリンクされており、もちろん ARM Linux 用に構築されています。
ネットワークが既にターゲット ボードに設定されていると仮定して、コピーgdbserver
して実行します。
$ gdbserver --multi :2345
開発マシンで、次を実行します。
$ arm-linux-gnueabihf-gdb
(gdb) target extended BOARD-IP-ADDR:2345
(gdb) set remote exec-file /bin/true
(gdb) run
これで、リモート クロス デバッグを実行できるようになりました。
Linaro バグ トラッカー、メーリング リスト、および Web フォーラムへのリンクは、こちらです。リリース ノートからわかるように、ARM Linux ツールチェーン、カーネル、QEMU の開発に積極的に取り組んでいます。
gdb-multiarch パッケージをインストールしてから、gdb-multiarch コマンドを実行してターゲットをリモートでデバッグする必要があります。