SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

[組込み開発入門] ロボットを作ろう

【第1回】組込みプログラムを動かそう

レゴマインドストームNXTでロボットプログラミング


  • X ポスト
  • このエントリーをはてなブックマークに追加

クロスコンパイル環境を作ろう

 レゴマインドストームNXTのプログラミングは、付属のGUIベース開発環境「NXTソフトウエア」で行うことができますが、今回はオープンソースの「LEJOS OSEK」を使うことにします。LEJOS OSEKはレゴマインドストームNXT用に、API、I/Oドライバ、ARM7プロセッサにポーティング済のTOPPERS OSEKなどを含むファームウエアで、このLEJOS OSEKを使ってGCCツールチェインによるANSI C/C++ の開発環境を構築します。

 では、開発環境の構築を始めましょう。対象OSはWindows XPのSP2以降です(TOPPERS OSEKのSGがWindows上でしか動作しないため)。

 開発に必要なモジュールは「Cygwin」「GNU ARM」「ATMEL SAM-BA」「LEJOS OSEK」です。インストール順に説明していきます。

Cygwinをインストールする

 LEJOS OSEKで使用するSedとMakeを準備するためにCygwinをインストールします。

  1. Cywginのサイトからバージョン1.5以降の「setup.exe」をダウンロードします。
  2. ダウンロードしたsetup.exeを実行します。
  3. 「Download Source」の選択画面が表示されるので、自分の環境に合った条件を選択します。
  4. 「Install Directory」の選択画面が表示されるので、適宜選択します(日本語を含まないフォルダを指定します)。
  5. 「Devel」パッケージのmake3.81-1をチェックしてインストールを開始します。

GNU ARMをインストールする

 ARMプロセッサ用のGCCをインストールします。

  1. GNU ARM Siteの「File」を選択し、「GCC-4.1 toolchain」の「bu-2.16.1_gcc-4.0.2-c-c++_nl-1.14.0_gi-6.4.exe」をダウンロードします。
  2. 「bu-2.16.1_gcc-4.0.2-c-c++_nl-1.14.0_gi-6.4.exe」を実行します。
  3. インストールするコンポネントは「LittleEndian」の「Floating Point Unit」を外した構成にします。
  4. 「install Cygwin dll」のチェックを外し、インストールします。

ATMEL SAM-BAをインストールする

 NXTへ実行バイナリを書き込むツールをインストールします。USBドライバをインストールするので管理者権限を持つユーザーでインストールを行ってください。

  1. ATMELのWebサイトから「AT91-ISP.exe」をダウンロードします。
  2. AT91-ISP.exeを実行します。
  3. デフォルトの設定でインストールします。

LEJOS OSEKの環境を設定する

  1. LEJOS OSEKのWebサイトから「LEJOS OSEK V1.04」を選択し、「lejos_osek_v104.zip」をダウンロードします。
  2. 「lejos_osek_v104.zip」を任意のフォルダに解凍します。
  3. 「ecrobot」「lejos_nxj」「samples」「toppers_osek」のフォルダができているのを確認します。
  4. samplesフォルダに移動し、MakeCommonファイルのGNUARM_ROOTの値をGNU ARMをインストールしたフォルダに変更します。
    # specify GNU-ARM root directory
    /* GNUARMのインストール先を指定する */
    GNUARM_ROOT = /cygdrive/C/Program\ Files/GNUARM 
    # Do not modify below this part
    TOPPERS_OSEK_SG_SOURCE := ./kernel_cfg.c
    TOPPERS_OSEK_SG_HEADER := ./kernel_id.h

動作の確認

  1. EJOS OSEKのsamplesフォルダのalarmtestフォルダに移動します。
  2. コマンドラインから「make all」を実行します。
  3. 正常終了すれば開発環境の構築は成功です。

次のページ
簡単なアプリを動かしてみよう(コーディング)

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
[組込み開発入門] ロボットを作ろう連載記事一覧

もっと読む

この記事の著者

藤井 律行(フジイ ノリユキ)

(株)永和システムマネジメント所属。組込み・計測制御システム開発、Webアプリ開発を経て、現在は再び組込み開発に従事。元々はメカエンジニアで、かつてはコーディングより機械図面を引く方が速かった。チームマイナス6%会員。会社までの往復30Kmを愛車ビアンキ号で通勤する自転車人。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3701 2009/03/16 18:53

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング