Changes between Version 16 and Version 17 of SampleProgram
- Timestamp:
- May 7, 2015, 12:53:24 AM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
SampleProgram
v16 v17 9 9 10 10 == 動的ローディング形式(ダイナミックローディング機能を利用) == 11 === 動的ローディング形式とは? === 11 12 動的ローディング形式は、ダイナミックローディング機能をもつアプリケーションローダ(apploader)を使って、SDカードに入れた又はBluetooth等のシリアル通信で受信したアプリケーションのバイナリファイル(ELF形式)をロードして動的に実行する形式です。 12 13 … … 34 35 * ミューテックス 最大0個![TODO:] 35 36 36 動的ローディング形式を利用するためには、以下の手順で、アプリケーションのバイナリファイル(ELF形式)をビルドします。 37 === 動的ローディング形式用のバイナリファイル(ELF形式)の生成 === 38 ① EV3RTのルートディレクトリ(hrp2)に移動します 37 39 38 ① プラットフォームのルートディレクトリ(hrp2)に移動します 39 40 ② アプリケーションのあるワークスペースに移動します 40 ② ロードしたいアプリケーションのワークスペースに移動します 41 41 42 42 * サンプルプログラム(gyroboy)の例:下記のコマンドでデフォルトのワークスペースに移動します … … 45 45 $ cd workspace 46 46 }}} 47 ③ 「make mod=<アプリケーションのフォルダ名>」で 動的ローディング用バイナリ(Module)をビルドします47 ③ 「make mod=<アプリケーションのフォルダ名>」で、動的ローディング用バイナリ(Module)をビルドします 48 48 49 49 * サンプルプログラム(gyroboy)の例:下記のコマンドでビルドします … … 56 56 [[Image(cygwin-mod-gyroboy-ls.png)]] 57 57 58 アプリケーションローダを実行して、生成されたアプリケーションのバイナリファイルを以下の手順でEV3にロード&実行することができます。 58 === PCからEV3へのアプリケーションのロード方法の選択 === 59 === アプリケーションローダを実行して、生成されたアプリケーションのバイナリファイルをEV3にロード&実行することができます。アプリケーションローダがSDカードに入っていない場合には、その uImage をSDカードのルートフォルダにコピーしておきます。 === 60 * デフォルトのアプリケーションローダの uImage は、ダウンロードしたEV3RTパッケージの sdcard/uImage です 61 * workspace/apploader ディレクトリで、$ make app=apploader コマンドを実行して生成される uImage でも構いません(同じものです) 59 62 60 ⑤ アプリケーションローダがSDカードに入っていない場合には、そのuImageをSDカードのルートフォルダにコピーします 61 62 * デフォルトのアプリケーションローダの uImage は、ダウンロードしたEV3RTの「sdcard/uImage」に入っています 63 * workspace/apploader を make=app=apploader によってビルドして生成される uImage でも構いません(同じものです) 64 65 ⑥ SDカードをEV3に差し込んで、電源を入れてアプリケーションローダを実行します 63 ① SDカードをEV3に差し込んで、EV3の電源を入れてEV3RTのアプリケーションローダを起動します 66 64 67 65 * ローダのGUIメニューが表示されたら起動は成功です 68 66 69 ⑦ アプリケーションローダのメニューでは、アプリケーションのロード方法を選択します。67 ② EV3のアプリケーションローダのメニューで、アプリケーションのロード方法を選択します。 70 68 71 * SD card:SDカードに入れたアプリケーションをロードします。ロードするアプリケーションのバイナリファイルを、SDカードの「/ev3rt/apps/」以下に格納しておく必要があります。 72 * Bluetooth:Bluetoothで接続されたPCから、アプリケーションをロードします。「[wiki:DevEnv#Bluetoothの接続 Bluetoothの接続方法]」を参考してBluetoothを接続する必要があります。 69 * SD card:SDカードに入っているアプリケーションをロードします。ロードするアプリケーションのバイナリファイルを、予め、SDカードの「/ev3rt/apps/」に格納しておく必要があります。ロードしたいファイル名を選択すると、アプリケーションをロードして実行します。 70 * Bluetooth:Bluetoothで接続されたPCから、アプリケーションをロードします。 71 * 「[wiki:DevEnv#Bluetoothの接続 Bluetoothの接続方法]」を参考にして、予めPCとEV3のBluetoothペアリングを実施しておいてください。 73 72 * Serial port 1:シリアルケーブル接続されたPCから、アプリケーションをロードします。 74 73 75 ⑧ BluetoothまたはSerial port 1でロードする場合、ローダのメニューで Bluetooth または Serial port 1 を選択した後、PC上でターミナルを起動し、ZMODEM転送機能を使ってアプリケーションのバイナリファイルを送信します。 74 === Bluetooth (またはシリアルケーブル)によるアプリケーションのロード方法 === 75 ① EV3を起動した状態で、PCで Tera Term を起動し、EV3に接続します(COMポートのserial port profile側に接続してください)。接続されるまで待ちます。 76 76 77 [[Image(pic1.png)]] 77 ② Bluetooth(シリアルケーブルの場合は Serial port 1)でロードする場合、EV3のメニューで Bluetooth (シリアルケーブルの場合は Serial port 1)を選択して、転送待ち状態にします(「Receive App File」と画面に表示されます)。 78 78 79 ここでロードされたアプリケーションのバイナリファイルは、SDカードの「/ev3rt/apps/」以下に格納されます。79 ③ PCで、 Tera Term のZMODEM転送機能を使ってアプリケーションのバイナリファイルをロードします。 80 80 81 ⑨ アプリケーションを実行中、戻るボタンを長押し(0.5秒程度)してアプリケーションを終了できます。 81 [[Image(pic1.png)]] 82 82 83 * アプリケーションを終了すると、ローダのメニューに戻るので、別のアプリケーションをロードすることができます… 83 * ファイルの選択画面が表示されるので、EV3にロードしたいバイナリファイルを選択します。ファイルを選択すると、送信状況を表すダイアログが表示され、送信100%になったら、送信完了です。 84 * ここでロードされたアプリケーションのバイナリファイルは、SDカードの「/ev3rt/apps/」以下に格納されます。 85 86 87 88 ④ 正常にロードできている場合、EV3の画面に「App Received」と表示されます。選択ボタン(中央のボタン)を押すと、ロードしたアプリケーションを実行できます。 89 90 * 戻るボタンを押すと、アプリケーションを終了し、ローダのメニューに戻ります。別のアプリケーションをロードすることができます。 84 91 85 92 == スタンドアローン形式(ダイナミックローダ無し) == 93 === スタンドアローン形式とは? === 86 94 スタンドアローン形式は、開発したアプリケーションと本プラットフォームを一つのEV3のブートローダ(U-Boot)用ブートイメージ(uImage)としてビルドして、SDカードの指定場所に入れて実行する形式です。この実行形式には、以下の特徴があります。 87 95 … … 100 108 * アプリケーションだけではなく、デバイスドライバ等もコンパイルする必要があるからです 101 109 110 === スタンドアローン形式用のバイナリファイルの生成 === 102 111 スタンドアローン形式を利用するために、アプリケーションのブートイメージ(uImage)をビルドする必要があります。以下の手順でそのブートイメージを生成できます。 103 112