開発システム
手始めに、EZ-ARM miniに搭載されているARM7TDMIのソフトウェア開発環境を構築していきます。
ソフトウェア開発ツール
ソフトウェア開発ツールは、ソフトウェアとハードウェアに分けられます。
ソフトウェアはEclipseなどの統合環境のフロントエンドソフトウェア、GCC/GDBなどのコンパイラやデバッガ、OpenOCDなどのJTAGインターフェイスソフトウェアがあります。ハードウェアは、実際にターゲットとホストを接続するためのJTAG<->USBインターフェイスを使います。
ソフトウェア
ホスト環境を準備するためには、いくつかのソフトウェア開発ツールを入手しインストールしなければならないことがわかりました。では、どの順番(優先順位)で行わなければいけないのかを考えてみましょう。
インストールする優先順位は以下のようになります。
1.クロスコンパイラ
「クロス開発」はターゲットのソフトウェアを作るのが目的ですから、それを直接生成するソフトウェアは必須です。そのためのソフトウェアがコンパイラやアセンブラです。
2.デバッガ
完成したプログラムをデバッグするためのデバッガが必要です。インストールできたかどうかは単体で確認できます。
3.インタフェースのドライバ
ホストとターゲットを接続するための基本となるプログラムです。ここではFT2232のドライバを指します(次回解説)。
4.通信プログラム
インタフェース(FT2232)を介して、デバッガとJTAGを通信させるためのプログラムです。OpenOCDに、その機能があります。
5.Eclipse
上記1~4を効率よく、使いやすくするためのプログラムです。Eclipseを用いることで、統一的にソフト開発、デバッグ、テストが行えるようになります。
6.plugin
Eclipse上でクロス開発システムを効率よく動作させるためのpluginをインストールします。
システム概要
今回構築するシステムをブロック図で表すと下記のようになります。破線で分けられている "EZ-SERVO/EZ-ARM"、 "FT2232"、 "ホスト" に分類されます。
最初に一番大きい破線部分から説明します。
これは、主としてPCにインストールされるホストを構築するためのソフトウェア群です。この図はこれからもよく出てくると思いますので、信号の流れと各ソフトウェアのはたらきをしっかり把握しておいてください。
![ホストシステムのソフトウェア関連図](http://cz-cdn.shoeisha.jp/static/images/article/3712/01.gif)
ハードウェア
ハードウェアに関しては、次回以降順次解説していきます。