Sample1 を Eclipse でデバッグする

TOPPERS/JSP for LPC2388の移植に当たって、このプロジェクトではIDEとしてEclipseを用いました。従って、ユーザーが自身のアプリケーションをデバッグする際にもEclipseを使う事が出来ます。

このページでは、Eclipse 3.4 (Ganymede)を使って、Linux上でAmontech JTAG KEY 互換ICEを使ったデバッグをする方法を説明します。なお、このページで説明するのはデバッグセッションの設定方法のみです。

  • アプリケーションのビルド
  • Eclipseのインストールと設定
  • アプリケーションのEclipseへの読み込み
  • OpenOCDの設定

等については別ページを参照してください。また、Eclipse上のgdbの実際の使い方はネット上の情報や書籍を参照してください。

デバッグ・コンフィグレーションを作る

Eclipseは汎用IDEです。C言語でプログラム開発を行えるようCDTを導入してありますが、幾分つぎはぎの面は否めません。さらにCDTはワークステーション用であり、組み込み用のプラグインを更に導入して使用しています。どうしても、デバッグ設定は面倒になります。以下、その説明を行います。

最初に、デバッグしたいプロジェクトをプロジェクトViewで右クリックし、Debug... -> Debug Configurationを選びます。GDB Hardware Debuggingを選び、ダイアログのNewアイコンをクリックすると、プロジェクト名から自動的にデバッグConfigurationが生成されます。図1にその様子を示します。プロジェクト名がsample1なので、Configuration名はsample1 Linux GCCとなっています。プロジェクト名とアプリケーションファイル名も自動的に設定されます。

Ubuntu 9.04-2009-09-22-21-52-05.png
図1 デバッグ対象の設定

次にDebuggerタブをクリックして、gdb関連の設定を行います(図2)。

最初に、arm-none-eabi-gdb へのフルパスを設定しておきます。

次に、"Use remote target"にチェックを入れます。これは本来ネットワークで接続されたターゲットをデバッグするためのものですが、OpenOCDはローカルに接続されていてもネットワークごしに通信を行うため、必ずチェックを入れます。

"Host name or IP address"にはターゲットのホスト名かIPアドレスを指定します。図の"debugger.local"は、JTAG ICE専用に使っているnetbookです。

"Port number"は、OpenOCDの場合デフォルトで3333です。特に理由がない限り、この番号を変える必要はありません。

Ubuntu 9.04-2009-09-22-21-52-15.png
図2 デバッガの設定

最後にデバッグ開始時に行う処理を記述します。

ターゲットは組み込みプロセッサですので、デバッグ開始時には以下の処理が必要です。

  • プロセッサのリセットと実行停止
  • FLASH領域へロードされているプログラムのデバッグ・シンボル読み込み
  • 先頭番地の設定

これらの設定はstartupタブで行います(図3)。

少し面倒なのはファイルからのシンボルの読み込みです。図のようにfileコマンドを利用してjspファイル(ELF)から読み込みます。sample1は今回のプロジェクト名ですので、自分のプロジェクト合わせて変更して使ってください。また、初期のプログラム・カウンタの設定値は0と指定します。

念のために書いておくと、図のファイルコマンドは以下のようになっています。

file ${workspace_loc:/sample1/jsp}

Ubuntu 9.04-2009-09-26-09-48-53.png
図3 デバッグ開始時の動作の設定

デバッグを行う