Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

NXT開発環境(ETロボコン向けTOPPERS活用セミナー5)

NXT開発環境(ETロボコン向けTOPPERS活用セミナー5)

  • Login to see the comments

  • Be the first to like this

NXT開発環境(ETロボコン向けTOPPERS活用セミナー5)

  1. 1. TOPPERSプロジェクト認定 12012/06/02 5.ASP+TECS開発環境の構築 ⽯石川 拓也 名古屋⼤大学  ⼤大学院情報科学研究科 最終更新⽇日:2012/05/30
  2. 2. TOPPERSプロジェクト認定 22012/06/02 NXT⽤用ASP+TECSプラットフォームのツール チェーン ソースコード (.c, .hファイルなど) TECS ジェネレータ (tecsgen) GNU ARM ツールチェーン ソースコード (.c, .hファイルなど) ファイル ツール データの流れ ソースコード (.c .hファイルなど) 実行形式 メモリマップ ファイル等 ライブラリ (ソースコード) 設定ファイル (リンカスクリプト等) コンポーネント記述 (*.cdl) コンフィギュレーション ファイル(*.cfg) コンフィギュレータ (cfg.exe) ビルドツール (make) Makefile 制御の流れ 開発者の操作
  3. 3. TOPPERSプロジェクト認定 32012/06/02 Cygwinのインストール •  Cygwinをインストールします。 ‒  インストールするパッケージの選択は、ほとんど デフォルトでOKです。 ‒  以下のツールが必須となります(nxt_user.txtよ り)ので、 インストール時にチェックします。 •  Perl 5.10.0 •  GNU Make 3.81 •  BINUTILS •  GCCまたはGCC-CORE ‒  コンフィギュレータ、TECSジェネレータをご⾃自 ⾝身で構築する場合には他にもツールが必要となり ますが、ここでは割愛します。
  4. 4. TOPPERSプロジェクト認定 42012/06/02 参考:Cygwinインストール時にチェックする 箇所 •  Perl:Perl install Install Install
  5. 5. TOPPERSプロジェクト認定 52012/06/02 参考:Cygwinインストール時にチェックする 箇所 •  GNU Make:Devel Install
  6. 6. TOPPERSプロジェクト認定 62012/06/02 参考:Cygwinインストール時にチェックする 箇所 •  BINUTILS:Devel InstallInstall
  7. 7. TOPPERSプロジェクト認定 72012/06/02 参考:Cygwinインストール時にチェックする 箇所 •  GCC, GCC-CORE:Devel Install InstallInstall
  8. 8. TOPPERSプロジェクト認定 82012/06/02 GNUARMのインストール •  GNUARMをインストールします。 ‒  UNIX⾵風にC:cygwinusrlocalにインストール すると、あとの設定が不要となり便利です。
  9. 9. TOPPERSプロジェクト認定 92012/06/02 参考:GNUARMのインストール時にチェックす る項⽬目 •  Little Endianのみ残し、Floating Pointのチェックを 外します。
  10. 10. TOPPERSプロジェクト認定 102012/06/02 NeXTToolのインストール •  John Hansen⽒氏のWeb(http:// bricxcc.sourceforge.net/nexttool.zip)から NeXTTool をダウンロードし、スペースおよびマル チバイト⽂文字の含まないディレクトリに解凍してく ださい。 (例、C:cygwinusrlocalnexttool)
  11. 11. TOPPERSプロジェクト認定 112012/06/02 TOPPERSが提供するツールのインストール •  コンフィギュレータ(cfg)、TECSジェネレータ (tecsgen)を⼊入⼿手します。 ‒  cfg 1.8.0 •  ファイルの依存関係を⽣生成するツール ‒  tecsgen 1.1.0.2 •  コンポーネントの⽣生成と結合に関するファイルを⽣生成するツー ル
  12. 12. •  TOPPERSのWeb(http://www.toppers.jp/ etrobo-asp.html)からet-robocon-asp +tecs-20120530.tar.gzをcygwinのホーム ディレクトリにダウンロードします TOPPERSプロジェクト認定 122012/06/02 TOPPERSが提供するツールのダウンロード
  13. 13. TOPPERSプロジェクト認定 132012/06/02 ASP+TECSの解凍 •  Cygwinを起動し、ホーム ディレクトリに移動して、 ダウンロードした圧縮 ファイルをtarコマンドで 解凍します 解凍された ASP+TECS ディレクトリ ホーム ディレクトリ $ tar zxvf et-robocon-asp+tecs-20120530.tar.gz
  14. 14. TOPPERSプロジェクト認定 142012/06/02 TECSジェネレータの設定 •  tecsgen(TECSジェネレータ)へのシンボリックリ ンクを張る ‒  ~/tecs_package/asp+tecs/に移動し、../bin/ tecsgen.exeへのシンボリックリンク tecsgen.exeを作成 $ cd ~/tecs_package/asp+tecs/ $ ln -s ../bin/tecsgen.exe ./
  15. 15. TOPPERSプロジェクト認定 152012/06/02 Makefile.targetの設定 •  環境に依存する定数の定義は、target/ mindstorms_nxt_gcc/Makefile.targetにあり、各 ⾃自の環境に応じて変更が必要 ‒  GNUARMをC:cygwinusrlocalにインストー ルした⽅方は変更不要 1.  クロスツールチェーンのパス •  使⽤用するクロスツールチェーン(GNU ARM)のパスを, GCC_TARGETに定義する •  デフォルト: GCC_TARGET = /usr/local/GNUARM/bin/ arm-elf 2.  ダウンロードツールのパス •  NexTTool.exeのパスを,NEXTTOOLに定義する •  デフォルト: NEXTTOOL = /usr/local/nexttool/ NexTTool.exe
  16. 16. 使⽤用するファームウェアの選択 •  拡張NXTファームウェア or NXT BIOSの選択 ‒  target_lib_inst.cdlで選択する •  importするcdlファイルで制御 TOPPERSプロジェクト認定 162012/06/02 // 拡張NXTファームウェアを使用する場合 // ram_onlyを残し、ram+romをコメントアウト(削除) import("ram_only.cdl"); // import("ram+rom.cdl"); target_lib_inst.cdl // NXT BIOSを使用する場合 // ram+romを残し、ram_onlyをコメントアウト(削除) // import("ram_only.cdl"); import("ram+rom.cdl"); target_lib_inst.cdl
  17. 17. TOPPERSプロジェクト認定 172012/06/02 ビルド⼿手順 1.  プロジェクトディレクトリに移動 •  ここではサンプルプログラムに移動 2.  TECSジェネレータの実⾏行行 •  コンポーネントの⽣生成と結合に関するファイル、 およびコンポーネントに関する定義ファイルが gen/以下に⽣生成される 3.  依存関係の⽣生成 4.  コンパイル&リンク •  asp.rxeとrxeflash.shが⽣生成される •  拡張NXTファームウェアの場合 $ cd ~/tecs_package/asp+tecs/nxt_sample/sample_etrobo/ $ make tecs $ make depend $ make
  18. 18. TOPPERSプロジェクト認定 182012/06/02 プログラムのアップデート⽅方法(1/2) •  拡張NXTファームウェア搭載の場合 ‒  NXTの電源をONにして、PCとNXTをUSBケーブ ルで接続 ‒  Cygwin上で次のコマンドを⼊入⼒力力 $ sh ./rxeflash.sh •  プログラムアップロードが成功した場合、Cygwin上に下記コ マンド出⼒力力の2⾏行行⽬目のように実⾏行行形式ファイル のサイズが⽰示さ れます。 •  出⼒力力例: ‒  Executing NeXTTool to upload helloworld.rxe... helloworld.rxe=15280 NeXTTool is terminated.
  19. 19. TOPPERSプロジェクト認定 192012/06/02 プログラムのアップデート⽅方法(2/2) •  NXT BIOS搭載の場合 ‒  NXTの電源をONにして、プログラムを起動 ‒  NXTのSTOPボタンとENTERボタンを同時に押す •  左向きの三⾓角ボタンとオレンジ⾊色の四⾓角ボタン •  正常に動作すると、NXTの電源が切れます ‒  NXTの電源をONにして、PCとNXTをUSBケーブ ルで接続 ‒  Cygwin上で次のコマンドを⼊入⼒力力 $ sh ./appflash.sh
  20. 20. TOPPERSプロジェクト認定 202012/06/02 ソースコードについての注意 •  ASP+TECSのソース、サンプルプログラムの漢字 コードはShift_JIS、改⾏行行コードはMS-DOSと互換の CRLFとなっています •  Cygwinの環境で参照、修正を⾏行行う場合は、UNIX互 換漢字コード、改⾏行行コード対応のエディタを使⽤用し てください 漢字コード、改行コードを自動変換する エディタ:TeraPad
  21. 21. TOPPERSプロジェクト認定 212012/06/02 Bluetoothの設定(1/3) •  Bluetoothをパソコンに登録 ‒  MINDSTORMS NXTを起動し、 PCでBluetooth ⇒ Searchにて 表⽰示されるまで待ちます ‒  NXTが表⽰示されたら選択します ‒  PINCODE(ペアリングコード) は指定されたコードを設定して ください ‒  注意:⾛走⾏行行会に参加した場合、 多くの参加者がおり、他の参加 が同⼀一のPINCODEで設定してい る場合、正しくコネクションが できません
  22. 22. TOPPERSプロジェクト認定 222012/06/02 Bluetoothの設定(2/3) •  Bluetoothリンクのシリアルポー トの確認 ‒  デバイスマネージャを開いて Bluetoothに対応したシリア ルポートを確認します ‒  Bluetoothを使って MINDSTORMS NXTと通信す るために、Tera Termをイン ストールします ‒  Tera TermでBluetoothのリ ンクシリアル(右の環境では COM4)を通してNXTとの stream通信 します
  23. 23. TOPPERSプロジェクト認定 232012/06/02 Bluetoothの設定(3/3) •  PINCODEとデバイス名の指定 ‒  ~/tecs_package/asp+tecs/tecs_lib/ mindstorms_nxt/tBluetooth_inst.cdlの keyCodeとdeviceNameで指定 cell tBluetooth Bluetooth { // Bluetooth本体 cSemaphore = BluetoothSemapohre.eSemaphore; // キーコードの設定 keyCode = "1234"; }; cell tConnectBluetooth ConnectBluetooth { cBluetooth = Bluetooth.eBluetooth; // デバイス名の設定 deviceName = { 'E', 'T', '1', '2', '3', '4', '0' }; };
  24. 24. Bluetooth通信機器と⾛走⾏行行体のペアリング •  ETロボコン2012 競技規約(Bluetooth)1.5より •  Bluetooth通信機器と⾛走⾏行行体のBluetooth通信をおこ なうためには、ペアリングを おこなう必要がありま すが、競技の円滑運営のために、ペアリングについ ては⾞車車検前までに必ず完了しておいてください •  また、NXTのデバイス名およびパスキーについては、 誤接続防⽌止や競技会場ガイダンス遵守の確認のため、 以下のとおりとします ‒  デバイス名は、ETロボコン実⾏行行委員会から与えら れるチームIDに、ETをプリフィックスとして付加 したものを使⽤用する •  例:チームIDが1の場合、デバイス名はET1とする ‒  パスキーは、NXTデフォルトパスキー(1234)とは 異なる任意のパスキーを使⽤用する TOPPERSプロジェクト認定 242012/06/02
  25. 25. 参考 •  nxtOSEK/JSPホームページ ‒  http://lejos-osek.sourceforge.net/ •  MINDSTORMS NXT⽤用TOPPERS/ASP+TECSプラット フォームと教育コンテンツ:ETロボコン2012対応版 ‒  http://www.toppers.jp/etrobo-asp.html •  ETロボコン向けRTOS活⽤用コンテンツ(TOPPERS/JSP ベース):ETロボコン2012対応版 ‒  http://www.toppers.jp/etrobo-jsp.html TOPPERSプロジェクト認定 252012/06/02

×