Last Update : 2006/Mar/07
ロボット開発記(3)
開発環境の構築
オープン(ソース)ツール
ツールの入手
ツールのインストール
ディレクトリの設定
プロジェクト
ツールの設定
ビルド
デバッグ
<<戻る

    ロボットの処理の大部分は、マイクロコントローラ(MCU)のソフトウェアにより行われています。今回利用するARMは組み込み型コンピュータとしてゲームボーイアドバンスや任天堂DS、携帯電話などで広く使われています。ロボットの処理は多岐にわたり、ソフトウェアとしての規模も個人で開発するにはかなり大きいものとなります。使いやすい開発環境を構築することは、パフォーマンスの高いロボットを製作する上で重要なポイントです。


  • オープン(ソース)ツール

    オープン(ソース)ツールをなるべく用いるようにします。この対語としてプロプライエタリツールなる言葉もあります。これはツールベンダーの権利関係の下に提供されるツールを指します。今回はなるべくお金をかけずに開発することが前提ですので、オープン(ソース)ツールになります。(ソース)の意味は必ずしもソース提供がなされる訳ではないことを示しています。また、安価に入手できる最新のツールを利用して、ツールに対しての学習も行いたいと思っています。


  • ツールの入手

    基本的にはインターネットで入手できるツールを利用します。既に今回のCPU試作ボードの提供先である Optimize でも Insight を中心にした開発、デバッグ方法の説明がありますが、同じではつまらないので違う路線でやってみます。

    • Eclipse

      元々はJavaの開発環境として開発されましたが、プラグイン・モジュールでの容易な拡張性のため広く様々な開発に使われるようになりました。最近では本稿のズバリのテーマである組み込み関係でも利用されるに至っています。

    • Eclipse plugin CDT

      C/C++ 開発用の Eclipse のプラグイン・モジュールになります。ARMの開発はC/C++で行われるため、こちらのプラグイン・モジュールが必要になります。

    • GCC (MinGW)

      ARM 用の GNU C Compiler です。GNU 系のツールチェーンの場合は、Cygwinが前提になっていることが多いのですが、このビルドは MinGW がベースになっていて大変軽いです。また、バージョンも最新の 4.0.1 なのであたらし物好きの人も満足できると思います。

    • GDB (Insight)

      このパッケージには Insight も入っていますが、今回は Insight は使いません。

    • Opitimize 製試作基板 EZ-ARM mini 用ツール

      これらのツールは mini EZ-USB で接続するためのソフトウェアです。ソースは公開されていませんが、ダウンロードして利用することが出来ます。サンプルスケルトンに同梱しています。サンプルプログラムは LPC-2138 ベースのプログラムを作成する時に参考になりますので、目を通されると良いでしょう。

      • jtag_stab.exe
      • jtag_flash.exe


  • ツールのインストール

    上記で紹介したソフトには、いずれもインストーラなどは付いていません。複数ファイルをそのまま圧縮しているだけなので適当なディレクトリに展開します。

    • Eclipse

      c:\eclipse
      に展開します。

    • CDT

      CDT も同様に展開します。 c:\eclipse に展開します。

    • GCC

      c:\GNUARM
      に展開します。

    • GDB

      先にダウンロードしたパッケージから下記のファイルを c:\GNUARM\bin\ にコピーします。

      • cygiconv-2.dll
      • cygintl-2.dll
      • cygncurses-8.dll
      • cygwin1.dll
      • tcl84.dll
      • tclpip84.dll
      • tk84.dll
      • arm-elf-gdb.exe
      まとめたものをここに置いておきます。

    • jtag_flash.exe, jtag_stub.exe

      c:\EZ-ARM\bin\を作成してコピーします。


  • ディレクトリの設定

    ツールやソースの管理を行いやすくするために、ディレクトリの設定を行います。 今回は

    c:\EZ-ARM\

    ディレクトリを作成しました。
    各プログラムはここでプロジェクト(ディレクトリ)を作成して、eclipse で実装していきます。

    EZ-ARM 下に下記のディレクトリを作成します。

    • _common

      共通で使うファイルを格納するためのディレクトリです。現在の中身はこんな感じです。ダウンロードして、このディレクトリに展開します。

    • _template

      プログラムの雛形となるスケルトンです。割り込みハンドラなどの記述もあります。ダウンロードしてこのディレクトリに展開します。

    • bin

      先の jtag_stub.exe, jtag_flash.exe と共に パスを設定して、eclipse を起動するためのファイル eclipse.cmd を入れておきます。


  • プロジェクト

    プログラムの開発はプロジェクト単位で行われます。

    • Eclipse の起動


      今回の設定では各種のプロジェクトファイルは c:\EZ-ARM に置きますので、そのディレクトリを指定します。

    • バイナリパーサの設定


      今回、取扱うバイナリをチェックします。

    • 新規プロジェクトの作成

      以下は新規プロジェクトの作成方法になります。プログラムを作成する場合は以下の手順を行います。

      1. 左側のウィンドウで右クリック New -> Starndard Make C Project


      2. プロジェクト名を入力


        プロジェクト名を入力します。今回は、 GPIOtest を入力して、Finish を押して終了します。

      3. 確認


        ここまでの作業で図のようにプロジェクト名が設定されました。

    • 既存プロジェクトからのインポート
      1. Import


        先に設定した、C:\EZ-ARM\_template からスケルトンプログラムをインポートします。

      2. File system の選択


        ファイルシステムを選択します。

      3. インポート元のディレクトリの選択


      4. インポートするファイルの選択


        インポートするファイルを選択します。

        • template.c
        • makefile

      5. Rename


        ファイル名を

        template.c -> GPIOtest.c

        に変更します。

      6. ファイル の修正


        ファイル中の templateGPIOtest にそれぞれ、修正します。


  • ツールの設定

    • eclipse.cmd

      開発環境が複数、入っている場合にはパスの設定が必要になります。eclipse.cmdにより、今回インストールしたツールのパスを設定して、eclipse を起動します。WEB-Master の場合、make ユーティリティーは Symbian の開発環境と共用してありますが、適宜変更して使ってください。

    • Eclipse

      eclipse の中で、ビルド、フラッシュプログラミング、デバッグが行えるようになります。


  • ビルド

    • オプション設定

        ビルドは make のオプションが前提となります。makefile に記述しているオプションの設定を行います。
      1. プロジェクトフォルダ(例PWMTest)上で右クリックしてメニューを出します。


      2. makefile に記述しているオプションを入力します。


      3. makefile に記述しているオプションだけ繰り返します。

    • 実際のビルド

      1. BuildMakeTarget を選択します。


      2. オプションを選択して実行します。



  • デバッグ

    • 設定

      Eclipse のデバッグはプロジェクト毎に行う必要があります。デバッガの設定は

      Run -> Debug...で行います。


      • Main

        プロジェクト名とアプリケーション名を設定します。

      • Arguments

        特に設定する項目はありません。

      • Environment

        特に設定する項目はありません。

      • Debugger

        • Cygwin GDB Debugger : デバッガの種類
        • C:\GNUARM\bin\arm-elf-gdb.exe : デバッガのインストール先
        • C:\EZ-ARM\_common\gdb.cmd : デバッガコマンドファイルのファイル名とインストール先

          →今回のインストール先

          デバッガコマンドファイル(gdb.cmd)には

          target remote PC名:2159

          を記述します。

      • Source

        特に設定する項目はありません。

      • Common

        特に設定する項目はありません。

    • 操作
      1. パースペクティブの変更

        Window->Open Perspective->Debug でデバッグ画面を出します。

      2. jtag_stub の実行


      3. デバッグ開始
        1. デバッグボタンを押します。


        2. 接続確認

          接続確認後デバッグを開始します。


頁の先頭
織田裕一へメール


Copyright (C) 1998 - 2006 TeamKNOx