小さなパートナーの多くは、マイクロコントローラからあそこに転送されているので、我々は非常にLinux上に慣れ変更するマイクロコントローラ上JLINKデバッガに使用されています。確かに、我々は、時計の変数を通してステップをブレークポイントを設定することができれば、それは本当にあまりにもクールです、そして私たちのLinuxはそれを行うことができ、答えはもちろんイエスです。
ARMボードで行われていないデバッグ、プログラムのデバッグに使用するGDBが、前回の記事では、我々はUbuntuのアプリケーションのデバッグに運ば|前回の記事でgdbデバッガは、簡単なサイドストーリーを行っていますソフトウェアのデバッグツールを組み込み、他のソフトウェア開発が、限定されているに比べて、私は確かに多くの人がまだデバッグツールに印刷するための最も原始的な方法を使用してありますよ。この問題では、ARMボードデバッグアプリケーションコードへの可能なアプローチをご紹介します。
基本的な考え方
このようリモートデバッグでは、ターゲットシステムがgdbserverのプログラムが含まれている必要があり、ホストプログラムは、GDBをインストールする必要があります。一般的にLinuxのリリースはGDBを実行することができているが、我々は直接リモート行うには、デバッグGDBのリリースを使用することはできませんが、ソースコードのパッケージのgdbを取得するには、ARMプラットフォーム用の簡単な設定を行い、対応を再コンパイルGDBは、そのようなARMV4。
次に、我々はこのデバッグ環境を構築するために一緒に、マスターのアイデアに従ってください。すべてのARMボードでは、構築することができます。
iTOP4412環境を構築しました
ビルドステップ
ステップ1:ダウンロードのgdbアーカイブ
ダウンロードします。http://ftp.gnu.org/gnu/gdb/は、ここでは、GDB-7.8.1.tar.gzをダウンロードするこのバージョンです。
ステップ2:コンパイルとGDBをインストール
Ubuntuのに圧縮gdbの後、我々は次のように示され、に生成されたファイルを抽出します。
、ターゲットプラットフォームとしてインストールパスのプレフィックスをターゲット:生成Makefileは、次のコマンドを入力します。
/設定-target =腕- なし-のlinux-gnueabi - 接頭辞= /ホーム/腕のlinux-GDB /腕のlinux-GDB
下図のように:
GDBのコンパイル、メイクを入力し、コンパイルが成功を以下に示します。
下に示したように、我々はUbuntuの上で開始している間は、このGDBであるため、GDBをインストールするには、コマンドmake installを入力して、インストールが成功しました:
GDB GDB / gdbserverをディレクトリの下のソースコードに、以下のように:
、ターゲットプラットフォームとしてインストールパスのプレフィックスをターゲット:生成Makefileは、次のコマンドを入力します。
./configureを-target =腕- なし-のlinux-gnueabi - 接頭辞= /ホーム/腕のlinux-GDB /腕のlinux-gdbserverを
そして、このクロスコンパイラは絶対パスを記述する必要がありmakeコマンド、ノートを実行します。下図のように:
make CC=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc
编译过程中会出现以下错误:
下に示したように、我々は、現在のパスでファイルを開くCONFIG.H:
下に示すように、約196行は、マクロ定義をHAVE_SYS_REG_Hコメントアウト。
以下に示すように、ライン116の#includeは<sys / reg.h>ヘッダをコメントアウト。
保存して終了は、再度コンパイルします。成功したコンパイルは以下の通りであります:
下図のようにコンパイルした後、インストールのmake installコマンドを使用して、インストールパスにインストール後にフォルダを生成します。
ARMボードにおける第3のステップは、リモートデバッグ環境を設定します
開発ボードフォルダにコピーgdbserverをビンファイルの下のGDB / gdbserverを。
以下のように行わをコピーします。
テスト
テストコード:
テストプログラム、-gパラメータを追加するには、コンパイル時にコンパイルし、コンパイルが完了した後、我々はNFS経由で開発ボード上でコードをテストし、サーバーを起動し、Ubuntuのの192.168.2.230であるテストコード、パスで次のコマンドを入力します。 IP、5000はポート番号です。
gdbserver 192.168.2.230:5000 ./test
下に示すように、正常起動します。
私たちは、GDBをインストールされているGDBを開始しているUbuntuの上でgdbを起動するテストプログラムのテストディレクトリでは、我々は、次のコマンドを入力します。
/home/arm-linux-gdb/arm-linux-gdb/bin/arm-none-linux-gnueabi-gdb test
正常に起動した後に以下のように:
開発ボードコネクタには、次のコマンドを入力し、192.168.2.23は、IP開発ボード、ポート番号5000です。
target remote 192.168.2.23:5000
以下に示すように、成功した接続基板の後、次の情報を印刷します。
次に、我々は、セットブレークポイントにUbuntuの上でのプログラム開発ボードを通過するステップをコマンドを使用することができます