Changes between Version 19 and Version 20 of SampleProgram


Ignore:
Timestamp:
Mar 2, 2016, 4:30:27 PM (8 years ago)
Author:
ertl-yutaka
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SampleProgram

    v19 v20  
    33
    44== 実行形式とビルド方法 ==
    5 本プラットフォームのアプリケーションは、2つの方法で実行することができます。
     5本プラットフォームのアプリケーションは、以下の2つの方法で実行することができます。
    66
    7  * 動的ローディング形式:OSとアプリケーションのバイナリを分け、ダイナミックローディング機能を使って、アプリケーションだけをOS実行中にロードして実行する
    8  * スタンドアローン形式:ダイナミックローディング機能を使わず、OSとアプリケーションを1つのバイナリにして単独(スタンドアローン)で実行する
     7 * 動的ローディング形式:OSとアプリケーションの実行ファイルを分け、OS実行中に、ダイナミックローディング機能を使ってアプリケーションの実行ファイルだけをロードして実行する。
     8 * スタンドアローン形式:ダイナミックローディング機能を使わず、OSとアプリケーションを1つの実行ファイルにして単独(スタンドアローン)で実行する。
    99
    1010== 動的ローディング形式(ダイナミックローディング機能を利用) ==
    1111=== 動的ローディング形式とは? ===
    12 動的ローディング形式は、ダイナミックローディング機能をもつアプリケーションローダ(apploader)を使って、SDカードに入れた又はBluetooth等のシリアル通信で受信したアプリケーションのバイナリファイル(ELF形式)をロードして動的に実行する形式です。
     12動的ローディング形式は、ダイナミックローディング機能をもつアプリケーションローダ(apploader)を使って、SDカードに入れた、またはBluetooth等のシリアル通信で受信したアプリケーションの実行ファイル(ELF形式)をロードして動的に実行する形式です。
    1313
    1414この実行形式には、以下の特徴があります。
     
    1616__メリット__
    1717
    18  * EV3をリセットしなくても、OS動作中にアプリケーションを書き換えることができます
    19    * PCで、アプリケーションのバイナリファイルをSDカードに書き込む手間を省略できます
    20    * アプリケーションを変更しても、Bluetoothを再接続する必要がありません
    21  * 複数のアプリケーションを1枚のSDカード(「/ev3rt/apps/」以下)に入れることができます
    22  * 高速にコンパイルすることができます
    23    * OSとデバイスドライバ等を変更しない限り、再度コンパイルする必要はありません
    24    * アプリケーションの開発時には、アプリケーションだけコンパイルすれば良いです
     18 * EV3をリセットすることなく、OS動作中にアプリケーションを書き換えることができます。
     19   * アプリケーションを更新する度に、PCでアプリケーションの実行ファイルをSDカードに書き込む作業を省略できます。
     20   * アプリケーションを更新した場合でも、Bluetoothを再接続する必要がありません。
     21 * 複数のアプリケーションを1枚のSDカード(「/ev3rt/apps/」以下)に入れることができます
     22 * 高速にコンパイルすることができます
     23   * OSとデバイスドライバ等を変更しない限り、これらを再度コンパイルする必要はありません。
     24   * アプリケーションの開発時には、アプリケーションだけコンパイルすれば良いので、コンパイル時間が短縮できます。
    2525
    2626__注意事項__
    2727
    28  * ローダとアプリケーションのインターフェスバージョン(PIL Version)を一致する必要があります
    29    * ローダのPIL Versionが更新される場合、アプリケーションの再コンパイルが必要になります
    30  * アプリケーションの最大サイズの制限があります(ローダの設定に依存しますが、デフォルトは1MB)
    31  * アプリケーションのカーネルオブジェクトの数の制限があります(ローダの設定に依存、デフォルトは以下)
     28 * ローダとアプリケーションのインターフェスバージョン(PIL Version)を一致させる必要があります。
     29   * ローダのPIL Versionが更新される場合、アプリケーションの再コンパイルが必要になります
     30 * アプリケーションの最大サイズの制限があります(ローダの設定に依存しますが、デフォルトは1MB)
     31 * アプリケーションのカーネルオブジェクトの数の制限があります(ローダの設定に依存、デフォルトは以下)
    3232   * タスク     最大32個
    3333   * セマフォ    最大16個
     
    3535   * ミューテックス 最大0個![TODO:]
    3636
    37 === 動的ローディング形式用のバイナリファイル(ELF形式)の生成 ===
    38 ① EV3RTのルートディレクトリ(hrp2)に移動します
     37=== 動的ローディング形式用の実行ファイル(ELF形式)の生成 ===
     38① EV3RTのルートディレクトリ(hrp2)に移動します
    3939
    40 ② ロードしたいアプリケーションのワークスペースに移動します
     40② ロードしたいアプリケーションのワークスペースに移動します
    4141
    42  * サンプルプログラム(gyroboy)の例:下記のコマンドでデフォルトのワークスペースに移動します
     42 * サンプルプログラム(gyroboy)の例:下記のコマンドでデフォルトのワークスペースに移動します。※ EV3RTのβ5-2 以前のバージョンを使っている場合には、[http://dev.toppers.jp/trac_user/ev3pf/wiki/FAQ#QEV3RTのバージョンをβ6に更新したらworkspaceディレクトリがなくなりましたどこに移動されたのでしょうか こちら]を参照してください。
    4343
    4444{{{
    45 $ cd workspace
     45$ cd sdk/workspace
    4646}}}
    4747③   「make mod=<アプリケーションのフォルダ名>」で、動的ローディング用バイナリ(Module)をビルドします