4412開発ボード学習GDBのデバッグとgdbserverの

小さなパートナーの多くは、マイクロコントローラからあそこに転送されているので、我々は非常に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の上でのプログラム開発ボードを通過するステップをコマンドを使用することができます

おすすめ

転載: www.cnblogs.com/liyue3/p/12015717.html