1.基本操作 TOPへ

2.コンパイルとダウンロード


ここでは作成したプログラムのコンパイルとそれをNXTにダウンロードする方法を学習します。 さらに、コンパイル時のエラーやワーニング、ファームウェアのダウンロードも学習します。


プログラムのコンパイル

 プログラムを作成したら、まず、プログラムをコンパイルしなければなりません。
 プログラムのコンパイルは、F7キー か メニューバーの「Robot -> Recompile Program」で行います。 コンパイルのError(警告)やWarning(注意)などの情報は、エディタの下部のウィンドウに表示されます。 エディタには問題のある行に×印が表示され、下部にはその詳細情報が表示されます。
compile.png(49460 byte)

 詳細情報に**Error**がある場合では警告ウィンドウが出ます。 この場合はコンパイルに成功していません。 しかし*Warning***Info*** の場合では警告されず、またコンパイルも成功します。

 コンパイル情報は次のような情報が記載されています。
log.png(9924 byte)

@: 行数
『18』の場合は18行目に問題があるということ
『11.046』の場合は11行目の内容に関するヘッダの46行目に問題がある

A: 種類
Error/Warning/Info それぞれに対応するアイコンを表示する

B: 詳細情報
問題の種類やどのような間違いであるか などを表示する
以下に代表的なエラーやワーニングを示しました。

代表的なエラーとその説明
Error
Procedure call Parameters don't match declaration for 'XXX'. 関数XXXの引数の型や個数が合致していない
Undefined procedure 'XXX'. XXXというAPIや変数が定義されていない
No body declared for procedure 'XXX'. RobotCで定義されているXXXが未実装である
(このErrorの場合はXXXの使用を中止するしかない)
Expected->';'. 一つ前の文末に';'がない
(';'がない文の次文のエラーと判定される)
Warning
Unreferenced procedure 'XXX' APIや変数のXXXが一度も呼び出されていない
Substituting similar variable 'XXX' for 'Xxx'.
Check spelling and letter case.
内容にある'Xxx'が定義された'XXX'と綴りが似ている
(コンパイル時にXxxはXXXに置換されます)
Use 'inline' to avoid possible simultaneous variable memory access conflicts for subroutine 'XXX' colled from multiple tasks … マルチタスク下で複数のタスクがサブルーチンXXXのグローバル変数にアクセス可能
(避けたい場合は inline を使う)
Possible programming error.
Infinite loop (unconditional branch to itself) detected.
抜ける条件のない無限ループが構成されている
('while(true)'の中に'break'がない)
Info
Use 'inline' to avoid possible simultaneous variable memory access conflicts for subroutine 'XXX' colled from multiple tasks … マルチタスク下で複数のタスクがサブルーチンXXXのグローバル変数にアクセス可能




プログラムのダウンロード

 コンパイルが成功したらそのファイルをNXTにダウンロードします。 NXTの電源を入れて、PCとNXTをUSBケーブルで接続します。これでダウンロードの準備は完了です
 プログラムのダウンロードは、F5キー か メニューバーの「Robot -> Download Program」で行います。 ダウンロードが成功すると、次のようなデバッガが起動します。
debugger.png(4579 byte)

 ダウンロード時に警告が出る場合があります。この場合、ダウンロードが成功する場合と失敗する場合があります。 どちらの場合でもデバッガが起動するかどうかで判断することができます。 以下に代表的なダウンロード時の警告ウィンドウとその内容、そしてダウンロードされるかどうかを示しました。
警告ウィンドウ 警告内容
error1.png(9030 byte) ファームウェアが最新でない

ダウンロード中にNXTの電源が切れた
×
error2.png(8704 byte) NXTの電源が切れている

NXTとPCが接続されていない
×
error3.png(8137 byte) 前回接続したNXTと違うNXTが接続されている

 ダウンロードしたプログラムは、NXTコンソール操作の2.プログラムを動かすを参考に動かすことができます。


ファームウェアのダウンロード

 ここではファームウェアのダウンロードの方法について学習します。
 ファームウェアのダウンロードは、メニューバーの「Robot -> Download Firmware」で行えます。 Download Firmwareを実行すると、次のWindowが表示されます。
firmware.png(14103 byte)
@ 現在接続されているNXTのアドレスのリスト
A アドレスリストの更新
上記Windowを表示させた後で、新たにNXTを接続した場合に使用
B NXTのBluetooth用Friendly Nameの設定
Bluetooth探索時の名前が変更される
C NXTのファームウェア更新
D メッセージログ

 NXTの電源を入れNXTとPCを接続した状態で、C「F/W Download」を実行しダウンロードするファームウェアを選択すると、ファームウェアがダウンロードされます。 NXTが再起動し、メッセージログに「Firmware Download Complete」と表示されれば、ファームウェアのダウンロードは成功です。

 尚、ファームウェアをダウンロードすると、『My Files』の内容は消去され、その他の設定はデフォルトに戻ります。 しかし、Bluetoothの『My Contacts』は消去されません。



1.基本操作 TOPへ