EZ-SERVOのプログラム開発環境構築(日本語化)
すいません m(_ _)m、本記事はブログ引越時に書式が崩れました。順次修正中です。
ぼちぼちっとEZ-SERVOのプログラム開発環境構築ということで、ARM7 (LPC2138)のコンパイラなどのインストールとセットアップを行ってました。実はしっかりとハマっていたのですが、TeamKNOxさんの方で、新たにRoboShell開発環境の構築(Japanese)を公開されていますので、これを参考にしながらの構築です(ありがたやー)。
でもやっぱりハマったので、要点をかいつまんで説明します。パソコンって、自由にいろいろとインストールできる分、元の環境の違いがでちゃうのかなって思います。今回、気合を入れて2台のWindowsXPマシンで確認しましたので、いい線行っているのではないかと思います。
さらに「Eclipseの日本語化」もします。
必要なプログラムのダウンロード
- Eclipse
JAVAの統合開発環境。プラグイン機能でARM7開発プログラムに対応するとのこと。リンク先の「Download Eclipse」からEclipse SDK 3.2.1をダウンロードしました。120Mバイトもあるので、ダウンロード時はまったりとやりましょう。 - Eclipse Language Packs
これはEclipseを日本語化するためのものです。使い出したらそれほど気にならないので、日本語でも英語でも良かったのですが、せっかく用意されているのでセットアップしました。どうたどっていったらいけるのかよくわからなかったのですが、日本語化するための情報をアップされているホームページがありましたので、そこから。Eclipse Project Downloadsの下の方に、Language Packsというリンクがあります。Eclipseが3.2.1なので、きっとこれだろうということで「NLpack1-eclipse-SDK-3.2.1-win32.zip」というファイルをダウンロードしました。これは54Mバイトなので、やや気合必要。 - Eclipse CDT plugin (C/C++ Development Tools)
EclipseにてC/C++を開発できるようにするプラグインです。Eclipseのホームページにて公開されているものを使うこともできるようですが、Zylinの方が高機能のようです。TeamKNOxさんでもZylinのCDTを使う方法が紹介されていますので、こっちを使うことにします。Zylinのホームページから、「Eclipse CDT and more」の「Eclipse CDT」を選択して、「Latest snapshot(バージョンによってリンク先は違うかも)」を開き、「Download binary:」の下の「embeddedcdt-20060908.zip」と「zylincdt-20060908.zip」をダウンロードしました。どうも本家のCDTを改良したものらしい。ちなみに、本家はEclipseのホームページからダウンロードすることが可能です。 - GNU ToolChain
CodeSourceryのパッケージを使用します。40M程ありますので、やや気合必要。このホームページを開くと、ダウンロードするファイルの選択画面になりますので、PCがWindowsの場合はそのままデフォルトで(「ARM EABI」、「IA32 Windows」)「Download」ボタンの押します。 - Opitimize 製試作基板 EZ-ARM mini 用ツール
欲しいのは「jtag_flash.exe」と「jtag_stub.exe」なので「EZ-SERVOの動作確認をしたときの「ez_servo_tools.zip」の中にありますので、それを使ってもよさそうです。でもここは素直に「LPCサンプルソース&DCC対応ツール」をダウンロードします。 - プログラムヘッダとか
RoboShell開発環境の構築(Japanese)から「_common.zip」というファイルをダウンロードします。 - Java
EclipseはJava上で動作しますので、Java Runtime環境が必要です。1.4以降ならよさそうなことがEclipseのホームページに書いてありますが、一応、1.4.2_13上で開発されているようです。そんなわけで、EclipseのホームページからJavaへのリンクがありますので、ここから辿って「JavaTM 2 Runtime Environment, Standard Edition Version 1.4.2」をダウンロードしましたが、Eclipseの画面で一部、動作しないところが発生!そんなわけで最新の1.5.0_09で試してみたらうまくいきました。まあいいや。最新は、ここからダウンロードです。
インストール
基本的にはTeamKNOxさんのところで紹介されているとおりにやっていけばいいのですが、やっぱりポイントだけメモ。
- Eclipseのインストール
eclipse-SDK-3.2.1-win32.zipを解凍し、適当なフォルダの下に移動。とは言っても、いきなり”C:\”の下に作るのは趣味じゃないので、”C:\Labs”というフォルダにしたに”eclipse”を移動。この手のツールは、”Program Files”とかのスペースが入ったフォルダだとトラブルときがあるので、一応、こんな感じで(未確認ですが、なんとなくは”Program Files”の下にいれても大丈夫っぽい)。 - Eclipseの日本語化
NLpack1-eclipse-SDK-3.2.1-win32.zipを解凍し、”eclipse”内に上書きコピー。 - CDTのインストール
embeddedcdt-20060908.zipとzylincdt-20060908.zipを展開し、”eclipse”内に上書きコピー(”plugins”だけでよさそう)。 - GNU ToolChainのインストール
ダウンロードした「arm-2006q3-27-arm-none-eabi.exe」を実行するとインストーラが立ち上がりますので、そのまま「Typical」を選択し、インストール先が気に入らないな、と思いつつも怖いので、まずはそのままインストール。「パスを追加するか?」って聞いてきますが、Eclipseを起動するときにパスを設定して起動するので不要ですが、あとあと、どう使っていくか?というのもありますので好みかな。
このパッケージ、一通りのものが入っていて、すごく便利そうです。 - オプティマイズツールのインストール
「jtag_flash.exe」と「jtag_stub.exe」を”C:\Labs\EZ-ARM\bin\”というフォルダを作ってコピー。ついでに、仮想シリアルポート設定プログラムの「ezcom_robo.exe」やその他もろもろもここへコピー。 - ヘッダファイルなどのコピー
TeamKNOxさんのところで公開されている「_common」を展開して”C:\Labs\EZ-ARM\”の下へ移動し、ついでに”C:\Labs\EZ-ARM/bin”にeclipse.cmdをコピー。 - eclipse起動ファイルの編集
TeamKNOxさんとは異なるフォルダ構成のため、eclipse.cmdを編集(パス名を修正する)。
Eclipseの起動と設定
今回、Eclipseは日本語化していますので、TeamKNOxさんで公開されている開発環境構築方法と一部メニューが異なりますので、それをメモっておきます。
- Eclipseの起動
eclipse.cmdにて起動します。これは環境変数にパスを設定するためです。コマンドプロンプトが開いてちょっと邪魔なので、せめて、ということで、ショートカットにして最小化動作にしてます。
初めて起動すると「ようこそ画面」がでますので、あわてずに「ようこそ」の横の「×」を押します。そうすると、よくある開発環境の画面になります。 - Eclipseのmake設定の変更
これ重要です。(はまりました)
CodeSourcery GNU ToolChainの場合、makeの実行ファイル名が「cs-make.exe」になっています。Eclipseはビルド時、デフォルトで「make」を実行するようになっていますので、「cs-make」に変更する必要があります。「ウィンドウ」⇒「設定」にてダイアログを開き、「C/C++」-「Make」-「New Make Poject」内の「Make Builderタブ」にて設定します。これで、以降、新しく作るプロジェクトは、このcs-makeが使われるようになります(ちなみに、プロジェクト単位でも変更可能です。)。 - バイナリパーサの指定
「Window」⇒「References…」は、「ウィンドウ」⇒「設定」になります。「C/C++」-「Make」-「New Make Poject」内の「Binary Parser」にて、「GNU Elf Parser」と「Cgwin PE Parser」をチェック。 - ツールの設定
「Run」⇒「External Tools」というメニュー項目は、「実行」⇒「外部ツール」となります(設定するためには「実行」⇒「外部ツール」⇒「外部ツール…」と操作)。ツリーウィンドウの「プログラム」をダブルクリックすると「新規構成」ができますので、そこへ設定します。うちでは「jtag_flash」、「jtag_stub」、「EZ-ARM Reset」を設定しました。それぞれの設定項目は以下のような感じです。 - jtag_flash
- メイン…ロケーション=jtag_flash.exe、作業ディレクトリ=${project_loc}、引数=${project_name}.hex
- 更新…何も触らず。
- 環境…何も変えず。
- 共通…外部ツールにチェック
- jtag_stub.exe
- メイン…ロケーション=jtag_stub.exe、作業ディレクトリ=${workspace_loc}、引数=-c
- 更新…何も触らず。
- 環境…何も変えず。
- 共通…外部ツールにチェック
- EZ-ARM Reset
- メイン…ロケーション=jtag_flash.exe、作業ディレクトリ=${project_loc}、引数=R
- 更新…何も触らず。
- 環境…何も変えず。
- 共通…外部ツールにチェックなし?(お好みで)
- とやってみても、実はEclipseの「実行」⇒「外部ツール」とメニューを開いてみてもなぜか「jtag_flash」しか表示されないので、「実行」⇒「外部ツール」⇒「お気に入りの編成」にて、ツールを並べなおします。
RoboShellプロジェクト
環境構築が完了したところで、Eclipseに、RoboShellのプログラムをプロジェクトとして読み込んでみます。RoboShellのプログラムは、”C:\Labs\EZ-ARM\”の下に展開しました。
まずはEclipseの「ターゲット・ウィンドウ」にて右クリック(メニューの「ファイル」から行ってもいいです)し、「プロジェクト」で「新規プロジェクトダイアログ」を表示し、ウィザードを「C」の中の「Standard Make C Project」を選択し、RoboShellのフォルダを指定します。
そうすると、勝手にソースファイルなどをツリーウィンドウの中に表示してくれます。これで正しいのかな?さて、いよいよ、ビルドですが、いろいろと設定できるEclipse、言い換えると、いろいろと設定しないと 思った通りに動かないEclipse、再びここで設定が必要です。
- ビルドオプション設定
プロジェクトフォルダ上でプロジェクトを右クリックしてメニューを出し、「Create Make Taget…」を選択して設定ダイアログを開いてもいいのですが、ここではいきなり「Build Make Target…」を選択します。既にいくつかデフォルトで設定されていますので、まずは「all」を選択して「Edit…」します。で、makeが「cs-make」になっていることを確認し、「Make Target」を「RoboShell.elf」にします(実は、すごく自信が無いですが…まあ動くのでよしとしましょう)。ついでに他の設定も、「cs-make」に設定します。たぶん、デフォルトは「make」になっています(全体の設定で「cs-make」にしたにも関わらず…)。
- プロパティでのmake設定
プロジェクトフォルダ上でプロジェクトを右クリックしてメニューを出し、「プロパティ」を選択して設定ダイアログを開きます。「C/C++ Make Project」を選択して「Make Builderタブ」を開きます(というか開いている)。で、「Build」のところを「RoboShell.elf」に変更します。さっきの「Build Make Target」の「all」設定を使ってくれればいいのに、と思いつつも、よくやり方がわからないので、これぐらいで我慢することにします。
こうすると、プロジェクトフォルダ上の右クリックメニューで「Build Project」によるビルドが可能になります。
これでとりあえずビルドまで確認できました。なんかcleanするとallも走っちゃうんですが、まだ変なところあるかなー。疲れたので、書き込み、デバッグはそのうちまとめます。
NOTE
- 開発環境の構築(LPC-2138)…TeamKNOxさんより。EZ-SERVOの開発環境構築
- LPC2138関連…RiosiaさんのBLOGより。
- EZ-SERVO(LPC2138+CPLD)…オプティマイズのホームページより。EZ-SERVOの回路図、製作、ツール配布など。
- EZ-ARM7…オプティマイズのホームページより。EZ-ARM7(LPC2138)の製作、環境構築、ツール配布など。
- C-Compiler Wiki…Eclipseのインストール、日本語化情報など。元ネタ…RiosiaさんのBLOGより。
追記(2006/11/19)
ダウンロードするファイルのバージョンがちょっと違っていると、中身がけっこう違うこともあるようですので、ダウンロードしたファイル名をリストアップしておきます。
- Java Runtime…jre-1_5_0_09-windows-i586-p-s.exe
- Eclipse…eclipse-SDK-3.2.1-win32.zip、 NLpack1-eclipse-SDK-3.2.1-win32.zip
- Zylin CDT…embeddedcdt-20060908.zip、zylincdt-20060908.zip
- CodeSourcery GNU ToolChain…arm-2006q3-27-arm-none-eabi.exe
こんばんは
設定、お疲れ様でした。
make ですが、アレから2台インストールしたんですけど、
両方とも cs-make.exe ではなくただの make.exe でした。
では