ファームウェア無しでのnxtOSEKのインストール方法 (WindowsXP)

 

 

1. Cygwinのインストール

2. GNU ARMのインストール

3. LibUSBのインストール

4. nxtOSEKのインストール・設定

 

nxtOSEKプログラムのNXTへのアップロード

 

注意:
ファームウェア無しのでのnxtOSEKのインストールはWindows XPにのみ対応しています。
LibUSBをWindows Vistaにインストールすると、全てのUSBデバイス(含むキーボード、マウス)が動作しなくなる問題が発生するようです。 従って、LibUSBをWindows Vistaにインストールしないようにしてください。

 


1. Cygwinのインストール

CygwinはLinux(UNIX)のさまざまなフリーソフトウェアをWindowsに移植したものです。Windows環境上で各種のLinux(UNIX)ソフトウェアを実行することができます。

注記:
Cygwin/makeをインストール済みの環境上でnxtOSEK開発環境を構築する場合、念のためCygwin/makeバージョンを確認ください。
Cygwinのバージョン確認方法
$ uname -a
makeのバージョン確認方法
$ make -ver
下記で紹介しているバージョン以外での動作確認はおこなっていませんので、あらかじめご了承ください。

 

  • CygwinのサイトからCygwin 1.5.x以降のバージョンをダウンロードします。(開発では1.5.24を使用しています)
  • setup.exeを起動します。インターネット経由のダイレクトインストールまたはローカルフォルダからのインストールのどちらかを選択できます。

  • マルチバイト文字およびスペースを含まないディレクトリにインストールします。(例、C:\cygwin)

  • Develカテゴリにあるmake 3.81-1を選択します。

 

 


2. GNU ARMのインストール

GNU ARMはNXTに搭載されているARM7コアプロセッサ(ATMEL AT91SAM7S256)にも対応したGCCコンパイラパッケージの一つです。
  • GNU ARMのサイト のFILESセクションからGCC-4.0.2 ツールチェイン (bu-2.16.1_gcc-4.0.2-c-c++_nl-1.14.0_gi-6.4.exe) をダウンロードし、マルチバイト文字およびスペースを含まないディレクトリにインストールします(例、C:\cygwin\GNUARM)

    注記: GCC-4.0.2以外(例、GCC-4.1.1)のバージョンのGNU ARMを使用した場合、nxtOSEKプラグラムコンパイル時のエラーの要因となりますので、かならずGCC-4.0.2をインストールしてください
  • インストール中に表示されるダイアログでは次のように選択してください (Little Endian, Floating Point Unit無し)。
    NXTに内蔵されているARM7マイコン(ATMEL AT91SAM7S256)にはFPU(浮動小数点演算ユニット)は搭載されていません

  • Cygwinはインストール済みのため、"Install Cygwin DLLs..."は選択しないでください

  • インストール終了時に、GNU ARMインストールディレクトリに対するWindows環境変数(パス)登録を確認されますが、パス登録をする必要はありません

 

 


3. LibUSBのインストール・設定


注意:
LibUSBをWindows Vistaにインストールすると、全てのUSBデバイス(含むキーボード、マウス)が動作しなくなる問題が発生するようです。
従って、LibUSBをWindows Vistaにインストールしないようにしてください。

  • LibUSBはUSB機器にアクセスするためのオープンソースのC言語ライブラリです。Windows用のLibUSBインストーラはnxtOSEKに同梱されています。 (nxtOSEK\lejos_nxj\3rdparty\lib\libusb-win32-filter-bin-0.1.12.1.exe). libusb-win32-filter-bin-0.1.12.1.exeを起動して、スペースおよびマルチバイト文字を含まないディレクトリにインストールしてください。




 

 


4. nxtOSEKのインストール・設定
  • nxtOSEKパッケージをスペースおよびマルチバイト文字を含まないディレクトリ(例、C:\cygwin\nxtOSEK)に解凍してください。nxtOSEKパッケージは解凍後、次のようなディレクトリ構造で展開されます。

  • ecrobotディレクトリ下にGNU ARMへのパス等を設定するためのtool_gcc.makファイルが格納されていますので、GNUARM_ROOTを開発環境に合わせて修正してください。

# specify GNU-ARM root directory
ifndef GNUARM_ROOT
GNUARM_ROOT = /cygdrive/C/cygwin/GNUARM
endif

  • Cygwinを起動後、次のコマンドを入力し、カレントディレクトリをnxtOSEK\samples\helloworldディレクトリに設定してください。
    (ここではnxtOSEKパッケージはC:\cygwinディレクトリに解凍された場合を想定しています)
    $ cd C:/cygwin/nxtOSEK/samples/helloworld
  • Cygwin上で次のコマンドを入力し、helloworldサンプルプログラムをビルドします。
    $ make all
    設定が正しくおこなえていれば、実行形式ファイル(*_ram.binファイルがファームウェア無しの実行形式ファイル)およびプログラムアップロード用shellファイルが、helloworldディレクトリ内に生成されます。

 

 

 


nxtOSEKプログラムのアップロード方法

 

  • ファームウェア無しでnxtOSEKプログラムをアップロードするには、NXTをリセットする必要があります。
    NXTをリセットするためには、NXTの電源がONの状態で、ハードウェアリセットボタン (NXT背面の上部左側のUSBコネクタ背後に配置されている穴の内部にあります)を、安全ピンの先(普通の爪楊枝の先が丸い側がベストです)などを使用して5秒以上押し続けます。NXTがリセットされると、(耳をNXTのスピーカーに近づけると)NXTから小さなクリック音が聞こえるようになります。
注記:
NXTのリセットは基本的にNXTにファームウェアが搭載されている場合の一回のみ必要となります。

  • PCとNXTをUSBケーブルで接続してください。
  • ENTRボタン(オレンジ色の四角いボタン)を押してください。
  • Cygwin上でプロジェクトディレクトリ(例, samples\helloworld)へ移動し、プログラムビルドをおこなってください。
  • Cygwin上で次のコマンドを入力してください。
    $ sh ./ramboot.sh
  • nxtOSEKスプラッシュ画面が表示された後、nxtOSEKメイン画面が表示されます。 プログラムがRAMから起動されている場合は、[R]が表示されます。


nxtOSEKスプラッシュ画面


nxtOSEKメイン画面(RAM起動の場合)

  • NXT前面の4つのボタンには次の機能が割り当てられています:
    - ENTR: NXTの電源をONにする
    - EXIT: NXTの電源をOFFにする (RAM起動の場合、NXTの電源をOFFにするとnxtOSEKプログラムも消えます)
    - RUN: nxtOSEKユーザープログラムを実行する
    - STP: 実行中のnxtOSEKユーザープログラムを終了し、自動的にnxtOSEKメイン画面に復帰する
    ※バッテリ電圧値(BATT:)がゼロ以外の値になると、各ボタンの操作が有効になります。


nxtOSEK ボタン機能


nxtOSEKユーザープログラム(Hello Worldサンプル)実行画面

 

 

 

Home