EclipseでTOPPERS/SSP FM3マイコンのデバッグができるようにする

ネット上には沢山の情報があるものの、やはり手こずりました。
覚書の意味でアップします。

gdbには「arm-none-eabi-gdb」を使用します
JTAGには「JtagKey2 Clone」を使用します。

OpenOCDを使用します。
C:\ocdにインストールされるものとします。





Debug Configurations

DebugConfigurationsの設定はこの通りです。
尚、ここで作成するDebugConfigurationは「Zylin Embedded debug(Native)」にぶら下がるように作成してください。
「Zylin Embedded debug(Native)」をダブルクリックすることで作成画面に移行します。

Mainタブは以下のように設定しました。

Debuggerタブは以下のように設定しました。

Commandsタブは以下のように設定しました。

Commonタブは以下のように設定しました。


External Toos Configuration
外部連携ツールとしてOpenOCDが使えるように設定しました。

Mainタブは以下のように設定しました。


OpenOCD経由でバイナリを書き込むだけの場合はこのように設定します。
Mainタブは以下のように設定しました。

Commonタブは以下のように設定しました。




使うgdbによっては正しく動作しない
OpenOCD経由でターゲットに接続しておきgdbからloadやbreak等を送信すると、なぜか、telnet接続が遮断されてしまう症状が発生しました。
Eclipseのターミナルには「Error: gdb requested a non-existing register」が表示されます。

どうやら、CodeSourcery SourceryG++Lite に同梱されている arm-none-eabi-gdb.exe だとエラーとなるようなんです。
私の場合は、Insightに同梱されているgdbを使用することで解決しました。
CodeSourceryに同梱のgdbで動作実績のある方は、コメントいただけると嬉しいです。

これは、問題が発生するgdbの「arm-none-eabi-gdb.exe -v」の出力結果です。


Insightに同梱の「arm-none-eabi-gdb.exe -v」の出力結果です。



この稿は書きかけです。順次追記します。


謝辞
OpenOCD、JtagKey2については、ねむい氏、jujurou氏の記事を参考にさせていただきました。
ねむいさんのぶろぐ | FM3マイコンはぢめました
電子工作マスターへの歩み FM3 Flash書き込み&動作確認

ねむいさんのぶろぐ | JTAGkeyClone(FT2232系JTAG I/F)製作のすすめ
ねむいさんのぶろぐ | JTAGKey2Cloneをもっと使ってみる
電子工作マスターへの歩み JTAGKey2 cloneの検討(3)

20130728 追記
デバッガの実行手順を追記します。
1: [Run]->[External Tool]->[Open OCD]の順でクリックして、ターゲットボードにOpenOCDで接続します。
2: デバッグ虫アイコンにカーソルを合わせると、作成したデバッグコンフィギュレーション「sample1」が表示されます。
3: 表示されたコンフィギュレーションを実行します。