Changes between Version 16 and Version 17 of SampleProgram


Ignore:
Timestamp:
May 7, 2015, 12:53:24 AM (9 years ago)
Author:
ertl-yutaka
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SampleProgram

    v16 v17  
    99
    1010== 動的ローディング形式(ダイナミックローディング機能を利用) ==
     11=== 動的ローディング形式とは? ===
    1112動的ローディング形式は、ダイナミックローディング機能をもつアプリケーションローダ(apploader)を使って、SDカードに入れた又はBluetooth等のシリアル通信で受信したアプリケーションのバイナリファイル(ELF形式)をロードして動的に実行する形式です。
    1213
     
    3435   * ミューテックス 最大0個![TODO:]
    3536
    36 動的ローディング形式を利用するためには、以下の手順で、アプリケーションのバイナリファイル(ELF形式)をビルドします。
     37=== 動的ローディング形式用のバイナリファイル(ELF形式)の生成 ===
     38① EV3RTのルートディレクトリ(hrp2)に移動します
    3739
    38 ①   プラットフォームのルートディレクトリ(hrp2)に移動します
    39 
    40 ②   アプリケーションのあるワークスペースに移動します
     40② ロードしたいアプリケーションのワークスペースに移動します
    4141
    4242 * サンプルプログラム(gyroboy)の例:下記のコマンドでデフォルトのワークスペースに移動します
     
    4545$ cd workspace
    4646}}}
    47 ③   「make mod=<アプリケーションのフォルダ名>」で動的ローディング用バイナリ(Module)をビルドします
     47③   「make mod=<アプリケーションのフォルダ名>」で動的ローディング用バイナリ(Module)をビルドします
    4848
    4949 * サンプルプログラム(gyroboy)の例:下記のコマンドでビルドします
     
    5656[[Image(cygwin-mod-gyroboy-ls.png)]]
    5757
    58 アプリケーションローダを実行して、生成されたアプリケーションのバイナリファイルを以下の手順でEV3にロード&実行することができます。
     58=== PCからEV3へのアプリケーションのロード方法の選択 ===
     59=== アプリケーションローダを実行して、生成されたアプリケーションのバイナリファイルをEV3にロード&実行することができます。アプリケーションローダがSDカードに入っていない場合には、その uImage をSDカードのルートフォルダにコピーしておきます。 ===
     60 * デフォルトのアプリケーションローダの uImage は、ダウンロードしたEV3RTパッケージの sdcard/uImage です
     61 * workspace/apploader ディレクトリで、$ make app=apploader コマンドを実行して生成される uImage でも構いません(同じものです)
    5962
    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のアプリケーションローダを起動します
    6664
    6765 * ローダのGUIメニューが表示されたら起動は成功です
    6866
    69 ⑦ アプリケーションローダのメニューでは、アプリケーションのロード方法を選択します。
     67② EV3のアプリケーションローダのメニューで、アプリケーションのロード方法を選択します。
    7068
    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ペアリングを実施しておいてください。
    7372 * Serial port 1:シリアルケーブル接続されたPCから、アプリケーションをロードします。
    7473
    75 ⑧ BluetoothまたはSerial port 1でロードする場合、ローダのメニューで Bluetooth または Serial port 1 を選択した後、PC上でターミナルを起動し、ZMODEM転送機能を使ってアプリケーションのバイナリファイルを送信します。
     74=== Bluetooth (またはシリアルケーブル)によるアプリケーションのロード方法 ===
     75① EV3を起動した状態で、PCで Tera Term を起動し、EV3に接続します(COMポートのserial port profile側に接続してください)。接続されるまで待ちます。 
    7676
    77 [[Image(pic1.png)]]
     77② Bluetooth(シリアルケーブルの場合は Serial port 1)でロードする場合、EV3のメニューで Bluetooth (シリアルケーブルの場合は Serial port 1)を選択して、転送待ち状態にします(「Receive App File」と画面に表示されます)。
    7878
    79 ここでロードされたアプリケーションのバイナリファイルは、SDカードの「/ev3rt/apps/」以下に格納されます。
     79③ PCで、 Tera Term のZMODEM転送機能を使ってアプリケーションのバイナリファイルをロードします。
    8080
    81 ⑨ アプリケーションを実行中、戻るボタンを長押し(0.5秒程度)してアプリケーションを終了できます。
     81 [[Image(pic1.png)]]
    8282
    83  * アプリケーションを終了すると、ローダのメニューに戻るので、別のアプリケーションをロードすることができます…
     83 * ファイルの選択画面が表示されるので、EV3にロードしたいバイナリファイルを選択します。ファイルを選択すると、送信状況を表すダイアログが表示され、送信100%になったら、送信完了です。 
     84 * ここでロードされたアプリケーションのバイナリファイルは、SDカードの「/ev3rt/apps/」以下に格納されます。
     85
     86
     87
     88④  正常にロードできている場合、EV3の画面に「App Received」と表示されます。選択ボタン(中央のボタン)を押すと、ロードしたアプリケーションを実行できます。
     89
     90 * 戻るボタンを押すと、アプリケーションを終了し、ローダのメニューに戻ります。別のアプリケーションをロードすることができます。
    8491
    8592== スタンドアローン形式(ダイナミックローダ無し) ==
     93=== スタンドアローン形式とは? ===
    8694スタンドアローン形式は、開発したアプリケーションと本プラットフォームを一つのEV3のブートローダ(U-Boot)用ブートイメージ(uImage)としてビルドして、SDカードの指定場所に入れて実行する形式です。この実行形式には、以下の特徴があります。
    8795
     
    100108   * アプリケーションだけではなく、デバイスドライバ等もコンパイルする必要があるからです
    101109
     110=== スタンドアローン形式用のバイナリファイルの生成 ===
    102111スタンドアローン形式を利用するために、アプリケーションのブートイメージ(uImage)をビルドする必要があります。以下の手順でそのブートイメージを生成できます。
    103112