狠狠撸

狠狠撸Share a Scribd company logo
TOPPERSプロジェクト認定 12012/06/02
5.ASP+TECS開発環境の構築
?石川 拓也
名古屋?大学? ?大学院情報科学研究科
最終更新?日:2012/05/30
TOPPERSプロジェクト認定 22012/06/02
NXT?用ASP+TECSプラットフォームのツール
チェーン
ソースコード
(.c, .hファイルなど)	
TECS
ジェネレータ
(tecsgen)	
GNU ARM
ツールチェーン	
ソースコード
(.c, .hファイルなど)	
ファイル	
ツール	
データの流れ	
ソースコード
(.c .hファイルなど)	
実行形式	
メモリマップ
ファイル等	
ライブラリ
(ソースコード)	
設定ファイル
(リンカスクリプト等)	
コンポーネント記述
(*.cdl)	
コンフィギュレーション
ファイル(*.cfg)	
コンフィギュレータ
(cfg.exe)	
ビルドツール
(make)
Makefile
制御の流れ	
開発者の操作
TOPPERSプロジェクト認定 32012/06/02
Cygwinのインストール
?? Cygwinをインストールします。
?? インストールするパッケージの選択は、ほとんど
デフォルトでOKです。
?? 以下のツールが必須となります(nxt_user.txtよ
り)ので、
インストール時にチェックします。
?? Perl 5.10.0
?? GNU Make 3.81
?? BINUTILS
?? GCCまたはGCC-CORE
?? コンフィギュレータ、TECSジェネレータをご?自
?身で構築する場合には他にもツールが必要となり
ますが、ここでは割愛します。
TOPPERSプロジェクト認定 42012/06/02
参考:Cygwinインストール時にチェックする
箇所
?? Perl:Perl
install
Install
Install
TOPPERSプロジェクト認定 52012/06/02
参考:Cygwinインストール時にチェックする
箇所
?? GNU Make:Devel
Install
TOPPERSプロジェクト認定 62012/06/02
参考:Cygwinインストール時にチェックする
箇所
?? BINUTILS:Devel
InstallInstall
TOPPERSプロジェクト認定 72012/06/02
参考:Cygwinインストール時にチェックする
箇所
?? GCC, GCC-CORE:Devel
Install
InstallInstall
TOPPERSプロジェクト認定 82012/06/02
GNUARMのインストール
?? GNUARMをインストールします。
?? UNIX?風にC:cygwinusrlocalにインストール
すると、あとの設定が不要となり便利です。
TOPPERSプロジェクト認定 92012/06/02
参考:GNUARMのインストール時にチェックす
る項?目
?? Little Endianのみ残し、Floating Pointのチェックを
外します。
TOPPERSプロジェクト認定 102012/06/02
NeXTToolのインストール
?? John Hansen?氏のWeb(http://
bricxcc.sourceforge.net/nexttool.zip)から
NeXTTool をダウンロードし、スペースおよびマル
チバイト?文字の含まないディレクトリに解凍してく
ださい。
(例、C:cygwinusrlocalnexttool)
TOPPERSプロジェクト認定 112012/06/02
TOPPERSが提供するツールのインストール
?? コンフィギュレータ(cfg)、TECSジェネレータ
(tecsgen)を?入?手します。
?? cfg 1.8.0
?? ファイルの依存関係を?生成するツール
?? tecsgen 1.1.0.2
?? コンポーネントの?生成と結合に関するファイルを?生成するツー
ル
?? TOPPERSのWeb(http://www.toppers.jp/
etrobo-asp.html)からet-robocon-asp
+tecs-20120530.tar.gzをcygwinのホーム
ディレクトリにダウンロードします
TOPPERSプロジェクト認定 122012/06/02
TOPPERSが提供するツールのダウンロード
TOPPERSプロジェクト認定 132012/06/02
ASP+TECSの解凍
?? Cygwinを起動し、ホーム
ディレクトリに移動して、
ダウンロードした圧縮
ファイルをtarコマンドで
解凍します
解凍された
ASP+TECS
ディレクトリ	
ホーム
ディレクトリ	
$ tar zxvf et-robocon-asp+tecs-20120530.tar.gz
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 ./
TOPPERSプロジェクト認定 152012/06/02
Make?le.targetの設定
?? 環境に依存する定数の定義は、target/
mindstorms_nxt_gcc/Make?le.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
使?用するファームウェアの選択
?? 拡張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
TOPPERSプロジェクト認定 172012/06/02
ビルド?手順
1.? プロジェクトディレクトリに移動
?? ここではサンプルプログラムに移動
2.? TECSジェネレータの実?行行
?? コンポーネントの?生成と結合に関するファイル、
およびコンポーネントに関する定義ファイルが
gen/以下に?生成される
3.? 依存関係の?生成
4.? コンパイル&リンク
?? asp.rxeとrxe?ash.shが?生成される
?? 拡張NXTファームウェアの場合
$ cd ~/tecs_package/asp+tecs/nxt_sample/sample_etrobo/
$ make tecs
$ make depend
$ make
TOPPERSプロジェクト認定 182012/06/02
プログラムのアップデート?方法(1/2)
?? 拡張NXTファームウェア搭載の場合
?? NXTの電源をONにして、PCとNXTをUSBケーブ
ルで接続
?? Cygwin上で次のコマンドを?入?力力
$ sh ./rxe?ash.sh
?? プログラムアップロードが成功した場合、Cygwin上に下記コ
マンド出?力力の2?行行?目のように実?行行形式ファイル のサイズが?示さ
れます。
?? 出?力力例:
?? Executing NeXTTool to upload helloworld.rxe...
helloworld.rxe=15280
NeXTTool is terminated.
TOPPERSプロジェクト認定 192012/06/02
プログラムのアップデート?方法(2/2)
?? NXT BIOS搭載の場合
?? NXTの電源をONにして、プログラムを起動
?? NXTのSTOPボタンとENTERボタンを同時に押す
?? 左向きの三?角ボタンとオレンジ?色の四?角ボタン
?? 正常に動作すると、NXTの電源が切れます
?? NXTの電源をONにして、PCとNXTをUSBケーブ
ルで接続
?? Cygwin上で次のコマンドを?入?力力
$ sh ./app?ash.sh
TOPPERSプロジェクト認定 202012/06/02
ソースコードについての注意
?? ASP+TECSのソース、サンプルプログラムの漢字
コードはShift_JIS、改?行行コードはMS-DOSと互換の
CRLFとなっています
?? Cygwinの環境で参照、修正を?行行う場合は、UNIX互
換漢字コード、改?行行コード対応のエディタを使?用し
てください
漢字コード、改行コードを自動変換する
エディタ:TeraPad
TOPPERSプロジェクト認定 212012/06/02
Bluetoothの設定(1/3)
?? Bluetoothをパソコンに登録
?? MINDSTORMS NXTを起動し、
PCでBluetooth ? Searchにて
表?示されるまで待ちます
?? NXTが表?示されたら選択します
?? PINCODE(ペアリングコード)
は指定されたコードを設定して
ください
?? 注意:?走?行行会に参加した場合、
多くの参加者がおり、他の参加
が同?一のPINCODEで設定してい
る場合、正しくコネクションが
できません
TOPPERSプロジェクト認定 222012/06/02
Bluetoothの設定(2/3)
?? Bluetoothリンクのシリアルポー
トの確認
?? デバイスマネージャを開いて
Bluetoothに対応したシリア
ルポートを確認します
?? Bluetoothを使って
MINDSTORMS NXTと通信す
るために、Tera Termをイン
ストールします
?? Tera TermでBluetoothのリ
ンクシリアル(右の環境では
COM4)を通してNXTとの
stream通信 します
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'	 };

};
Bluetooth通信機器と?走?行行体のペアリング
?? ETロボコン2012 競技規約(Bluetooth)1.5より
?? Bluetooth通信機器と?走?行行体のBluetooth通信をおこ
なうためには、ペアリングを おこなう必要がありま
すが、競技の円滑運営のために、ペアリングについ
ては?車車検前までに必ず完了しておいてください
?? また、NXTのデバイス名およびパスキーについては、
誤接続防?止や競技会場ガイダンス遵守の確認のため、
以下のとおりとします
?? デバイス名は、ETロボコン実?行行委員会から与えら
れるチームIDに、ETをプリフィックスとして付加
したものを使?用する
?? 例:チームIDが1の場合、デバイス名はET1とする
?? パスキーは、NXTデフォルトパスキー(1234)とは
異なる任意のパスキーを使?用する
TOPPERSプロジェクト認定 242012/06/02
参考
?? 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

More Related Content

狈齿罢开発环境(贰罢ロボコン向け罢翱笔笔贰搁厂活用セミナー5)