Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

【第4回】OpenOCD

  • LINEで送る
  • このエントリーをはてなブックマークに追加

 Eclipseの汎用性と組込み開発の特殊性の両方を軸に、実際のターゲットであるARM マイコンを使って、マイコン開発を行っていきます。サーボモータベースの二足歩行ロボットの制御基板の開発をテーマに解説します。

目次

はじめに

そろそろ、今回のホストの設定の核心に近づいてきました。OpenOCDの入手とインストールです。

OpenOCDの仕組み

 今回のシステムの全体図は、下記(ホストシステムのソフトウェア関連図 再掲)で表すことができます。図を見ていただければわかりますが、OpenOCDが図の真ん中にあり、中核を担っていることがわかります。OpenOCD自体はGPLの下に公開されているフリーウェアです。簡単に動作を紹介したいと思います。

 OpenOCDのブロック図を見ると、自身もいくつかの機能ブロックから構成されていることがわかります。典型的な例はUSB-JTAGのピンドライバ部分でしょうか? 今回利用するUSBチップであるFT2232のMPSSE機能をドライブします。

 その他の機能として、TCPとTELNETのサーバの機能があります。TCPのサーバはGDBとの通信に使います。実際のリモートデバッグはこちらで行うことになります。TCPのポート番号はコンフィグレーションファイルで設定できます。

 TELNETのサーバはOpenOCD自体にコマンドを与えるために使います。こちらもポートの番号はコンフィグレーションファイルの設定で変更できます。

ホストシステムのソフトウェア関連図 再掲

リモートデバッグとスタブ

 現在操作しているコンソールから離れた場所にあるターゲットのデバッグを行うことを、一般的に「リモートデバッグ」といいます。リモートデバッグの手段として、シリアルラインを用いたり、専用のデバッグラインを用いたりします。また、最近ではTCP/IPによる例も多くなってきました。

 GDBの入出力をリモートのやり取りをデバッグへ変換するシステムを「スタブ」と呼びます。このスタブはターゲット自身に実装されることも、今回のようにピンドライバの形でホストに実装することもあります。

シリアル接続によるリモートデバッグ
シリアル接続とOpenOCDによるリモートデバッグ

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 大橋 修(大宮技研合同会社)(オオハシ オサム)

    大宮技研 エグゼクティブ・エンジニア。 都立高専電気工学科卒業後、日本精工(株)でエアバッグの制御ソフトウェア開発、ボッシュ(株)にてエンジンマネージメントシステム開発、適合ツールの開発、プロジェクトマネージメント、ノキアにてシンビアンOS用ミドルウェアS60の開発などをおこなう。インテルを経て、...

バックナンバー

連載:Eclipse/ARMプロセッサによる組込み開発

もっと読む

All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5