Changes between Version 14 and Version 15 of SampleProgram


Ignore:
Timestamp:
Mar 24, 2015, 10:21:27 AM (9 years ago)
Author:
ertl-yutaka
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SampleProgram

    v14 v15  
    33
    44== 実行形式とビルド方法 ==
    5 本プラットフォームのアプリケーションは2つの形式で実行することができます。
     5本プラットフォームのアプリケーションは、2つの方法で実行することができます。
    66
    7  * ダイナミックローダを使って動的にロードされて実行する
    8  * ダイナミックローダを使わずスタンドアローンで実行する
     7 * 動的ローディング形式:OSとアプリケーションのバイナリを分け、ダイナミックローディング機能を使って、アプリケーションだけをOS実行中にロードして実行する
     8 * スタンドアローン形式:ダイナミックローディング機能を使わず、OSとアプリケーションを1つのバイナリにして単独(スタンドアローン)で実行する
    99
    10 == 動的ローディング形式(ダイナミックローダ有り) ==
    11 動的ローディング形式はダイナミックローダを使って、SDカードに入れた又はBluetooth等のシリアル通信で受信したアプリケーションのバイナリファイル(ELF形式)をロードして動的に実行する形式です。
     10== 動的ローディング形式(ダイナミックローディング機能を利用) ==
     11動的ローディング形式は、ダイナミックローディング機能をもつアプリケーションローダ(apploader)を使って、SDカードに入れた又はBluetooth等のシリアル通信で受信したアプリケーションのバイナリファイル(ELF形式)をロードして動的に実行する形式です。
    1212
    1313この実行形式には、以下の特徴があります。
    1414
    15  * EV3をリセットしなくても実行中のアプリケーションを動的に書き換えます
    16    * アプリケーションが変更されてもBluetoothを再接続する必要がありません
    17    * PCでアプリケーションのバイナリファイルをSDカードに書き込む手間を省略できます
     15__メリット__
     16
     17 * EV3をリセットしなくても、OS動作中にアプリケーションを書き換えることができます
     18   * PCで、アプリケーションのバイナリファイルをSDカードに書き込む手間を省略できます
     19   * アプリケーションを変更しても、Bluetoothを再接続する必要がありません
    1820 * 複数のアプリケーションを1枚のSDカード(/ev3rt/apps/ディレクトリ以下)に入れることができます
    1921 * 高速にコンパイルすることができます
     22   * OSとデバイスドライバ等を変更しない限り、再度コンパイルする必要はありません
     23   * アプリケーションの開発時には、アプリケーションだけコンパイルすれば良いです
     24
     25__注意事項__
     26
    2027 * ローダとアプリケーションのインターフェスバージョン(PIL Version)を一致する必要があります
    2128   * ローダのPIL Versionが更新される場合、アプリケーションの再コンパイルが必要になります
     
    2734   * ミューテックス 最大0個![TODO:]
    2835
    29 動的ローディング形式を利用するために、アプリケーションのバイナリファイル(ELF形式)をビルドします。
    30 
    31 以下の手順でそのバイナリファイルを生成できます。
     36動的ローディング形式を利用するためには、以下の手順で、アプリケーションのバイナリファイル(ELF形式)をビルドします。
    3237
    3338①   プラットフォームのルートディレクトリ(hrp2)に移動します
     
    5156[[Image(cygwin-mod-gyroboy-ls.png)]]
    5257
    53 ダイナミックローダを利用して、以下の手順で生成されたアプリケーションのバイナリファイルをロードすることができます。
     58アプリケーションローダを実行して、生成されたアプリケーションのバイナリファイルを以下の手順でEV3にロード&実行することができます。
    5459
    55 ローダをSDカードに入れていない場合、そのuImageをSDカードのルートフォルダにコピーします
     60アプリケーションローダがSDカードに入っていない場合には、そのuImageをSDカードのルートフォルダにコピーします
    5661
    57  * デフォルトのローダのuImageは「sdcard/uImage」です
     62 * デフォルトのアプリケーションローダのuImageは、sdcard/uImage にあります
     63 * workspace/apploader を make=app=apploader によってビルドして生成される uImage でも構いません
    5864
    59 ⑥ SDカードをEV3に差し込んで、電源を入れてローダを実行します
     65⑥ SDカードをEV3に差し込んで、電源を入れてアプリケーションローダを実行します
    6066
    61  * ローダのGUIメニューが表示されたら起動は成功しました
     67 * ローダのGUIメニューが表示されたら起動は成功です
    6268
    63 ローダのメニューを使って以下の方式でアプリケーションをロードすることができます
     69アプリケーションローダのメニューでは、アプリケーションのロード方法を選択します。
    6470
    65  * SD card:SDカードに入れたアプリケーションをロードします。アプリケーションのバイナリファイルをSDカードの「/ev3rt/apps」というフォルダに入れる必要があります。
    66  * Bluetooth:Bluetoothでアプリケーションをロードします。「[wiki:DevEnv#Bluetoothの接続 Bluetoothの接続方法]」を参考してBluetoothを接続する必要があります。
    67  * Serial port 1:シリアルケーブルアプリケーションをロードします。
     71 * SD card:SDカードに入れたアプリケーションをロードします。ロードするアプリケーションのバイナリファイルを、SDカードの「/ev3rt/apps/」以下に格納しておく必要があります。
     72 * Bluetooth:Bluetoothで接続されたPCから、アプリケーションをロードします。「[wiki:DevEnv#Bluetoothの接続 Bluetoothの接続方法]」を参考してBluetoothを接続する必要があります。
     73 * Serial port 1:シリアルケーブル接続されたPCから、アプリケーションをロードします。
    6874
    69 ⑧ BluetoothまたはSerial port 1でロードする場合、ローダのメニューで Bluetooth または Serial port 1 を選択した後、ターミナルのZMODEM転送機能でアプリケーションのバイナリファイルを送信します
     75⑧ BluetoothまたはSerial port 1でロードする場合、ローダのメニューで Bluetooth または Serial port 1 を選択した後、ターミナルのZMODEM転送機能でアプリケーションのバイナリファイルを送信します
    7076
    7177[[Image(pic1.png)]]
    7278
    73 ⑨ アプリケーション実行中、戻るボタンを長押し(0.5秒程度)してアプリケーションを終了できます
     79⑨ アプリケーションを実行中、戻るボタンを長押し(0.5秒程度)してアプリケーションを終了できます。
    7480
    75  * アプリケーションを終了すると、ローダのメニューに戻ります。新しいアプリケーションをロードすることができます
     81 * アプリケーションを終了すると、ローダのメニューに戻るので、別のアプリケーションをロードすることができます…
    7682
    7783== スタンドアローン形式(ダイナミックローダ無し) ==
    78 スタンドアローン形式は開発したアプリケーションと本プラットフォームを一つのEV3のブートローダ(U-Boot)用ブートイメージ(uImage)としてビルドして、SDカードの指定場所に入れて実行する形式です。この実行形式には、以下の特徴があります。
     84スタンドアローン形式は、開発したアプリケーションと本プラットフォームを一つのEV3のブートローダ(U-Boot)用ブートイメージ(uImage)としてビルドして、SDカードの指定場所に入れて実行する形式です。この実行形式には、以下の特徴があります。
     85
     86__メリット__
    7987
    8088 * アプリケーションの最大サイズやカーネルオブジェクトの数の制限はありません
    81  * ダイナミックローダに依存せず単独に動作できます
    82  * アプリケーションを更新する度に、手間がかかります
     89 * ダイナミックローディング機能やアプリケーションローダに依存せず、単独に動作できます
     90
     91__注意事項__
     92
     93 * アプリケーションを更新する度に、再構築の手間がかかります
    8394   * PCでアプリケーションのブートイメージ(uImage)をSDカードに書き込む操作が必要です
    84    * EV3をリセットしてから実行するのでBluetoothの再接続が必要です
     95   * EV3をリセットしてから実行するので、Bluetoothを使用する場合には、再接続が必要です
    8596 * 同じSDカードにアプリケーションを一つしか入れることができません
    8697 * コンパイル時間は比較的遅いです
     
    113124[[Image(cygwin-app-gyroboy-ls.png)]]
    114125
    115 生成されたuImageをSDカードのルートフォルダにコピーして、そのSDカードをEV3の本体に差し込んでEV3の電源を入れてアプリケーションを実行します。Bluetoothを接続すれば、アプリケーションの出力を見ることができます。
     126生成されたuImageをSDカードのルートフォルダにコピーします。
     127
     128SDカードをEV3の本体に差し込んでEV3の電源を入れてアプリケーションを実行します。Bluetoothを接続すれば、アプリケーションの出力を見ることができます。
    116129
    117130===  ===