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)」をダブルクリックすることで作成画面に移行します。
External Toos Configuration
外部連携ツールとしてOpenOCDが使えるように設定しました。
OpenOCD経由でバイナリを書き込むだけの場合はこのように設定します。
Mainタブは以下のように設定しました。
使う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: 表示されたコンフィギュレーションを実行します。