Eclipseの汎用性と組込み開発の特殊性の両方を軸に、実際のターゲットであるARM マイコンを使って、マイコン開発を行っていきます。サーボモータベースの二足歩行ロボットの制御基板の開発をテーマに解説します。
はじめに
そろそろ、今回のホストの設定の核心に近づいてきました。OpenOCDの入手とインストールです。
OpenOCDの仕組み
今回のシステムの全体図は、下記(ホストシステムのソフトウェア関連図 再掲)で表すことができます。図を見ていただければわかりますが、OpenOCDが図の真ん中にあり、中核を担っていることがわかります。OpenOCD自体はGPLの下に公開されているフリーウェアです。簡単に動作を紹介したいと思います。
OpenOCDのブロック図を見ると、自身もいくつかの機能ブロックから構成されていることがわかります。典型的な例はUSB-JTAGのピンドライバ部分でしょうか? 今回利用するUSBチップであるFT2232のMPSSE機能をドライブします。
その他の機能として、TCPとTELNETのサーバの機能があります。TCPのサーバはGDBとの通信に使います。実際のリモートデバッグはこちらで行うことになります。TCPのポート番号はコンフィグレーションファイルで設定できます。
TELNETのサーバはOpenOCD自体にコマンドを与えるために使います。こちらもポートの番号はコンフィグレーションファイルの設定で変更できます。

リモートデバッグとスタブ
現在操作しているコンソールから離れた場所にあるターゲットのデバッグを行うことを、一般的に「リモートデバッグ」といいます。リモートデバッグの手段として、シリアルラインを用いたり、専用のデバッグラインを用いたりします。また、最近ではTCP/IPによる例も多くなってきました。
GDBの入出力をリモートのやり取りをデバッグへ変換するシステムを「スタブ」と呼びます。このスタブはターゲット自身に実装されることも、今回のようにピンドライバの形でホストに実装することもあります。


この記事は参考になりましたか?
- Eclipse/ARMプロセッサによる組込み開発連載記事一覧
- この記事の著者
-
大橋 修(大宮技研合同会社)(オオハシ オサム)
大宮技研 エグゼクティブ・エンジニア。都立高専電気工学科卒業後、日本精工(株)でエアバッグの制御ソフトウェア開発、ボッシュ(株)にてエンジンマネージメントシステム開発、適合ツールの開発、プロジェクトマネージメント、ノキアにてシンビアンOS用ミドルウェアS60の開発などをおこなう。インテルを経て、首都大学東京...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
