Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

AdamApp に必要なファイルの作成と配置が完了したら、AdamApp のビルドとパッケージ作成を行いま
す。具体的には、(1)AdamApp の実行環境に対応する設定ファイルを読み込み、(2)make の実行、を実施し
ます。
詳しい手順について、これ以降で説明します。

(1) ビルド用環境設定ファイルの読み込み

ビルド用環境設定ファイルとして、setup_env.sh が用意されています。これを source コマンドを用いて読み込むことで、環境設定が完了します。その際、AdamApp を動作させる実行環境に応じて、引数を指定する必要があります。

指定できる引数は下記の通りです。

i-pro ambaCV2X 用の AdamApp を作成する場合:

 ipro-ambaCV2X

下記に、それぞれの場合の詳細な手順を示します。

Code Block
$ cd ${SDK_DIR}
$ source setup_env.sh ipro-ambaCV2X
Info

下記のようなメッセージが表示されれば、ビルド用環境設定ファイルの読み込みは成功です。

***** /usr/local/linaro-aarch64-2018.08-gcc8.2/bin/aarch64-linux-gnu-gcc found. *****
PF_BASEDIR = /home/user/adamappsdk
BUILD_TARGET = ipro-ambaCV2X
TARGET_FOR_ADAM = ambaCV2X
TARGET_ARCH = aarch64-linux-gnu
VERBOSE = 0
PATH = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

(2) make の実行(AdamApp のビルド&パッケージの作成)

続いて、AdamApp(追加アプリ)のビルドとパッケージ作成を行うために、make を実行します。
make を実行すると、ビルドとパッケージの作成を一気に行います。make が成功した場合には、
skeleton_sample_app ディレクトリ直下に、

SkeletonSampleApp :

SkeletonSampleApp の実行プログラム

SkeletonSampleApp.zip :

SkeletonSampleApp のパッケージ

SkeletonSampleApp.ext :

SkeletonSampleApp.zip を Base64 化したもの

の 3 つのファイルが生成されます。

Code Block
$ cd src/adamapp/skeleton_sample_app
$ ls –CF
Makefile configuration.txt skeletonSampleApp.cpp
bin/ data/ setup/
$ make
(略)
$ ls –CF
Makefile bin/ setup/
SkeletonSampleApp* configuration.txt skeletonSampleApp.cpp
SkeletonSampleApp.ext conf/ skeltonSampleApp.d
SkeletonSampleApp.zip data/ skeltonSampleApp.o

make の実行によって、生成されるファイルの詳細な説明は、下記の通りです。

SkeletonSampleApp.zip :

必要な情報を格納した bin, data, config, setup の各ディレクトリを zip 化したパッケージファイルで す。

SkeletonSampleApp.ext :

...

詳しい手順について、SDK v1.71以前を利用される場合はこちらを参照ください。
SDK v1.80以降を利用される場合はこちらを参照ください。

ambaCV2XおよびambaCV5Xの拡張アプリを1ファイルにまとめてビルドする

ambaCV2XおよびambaCV5Xのアプリを1ファイルにまとめる方法を説明します。1ファイルにまとめる必要が無い場合は実施しなくても問題ありません。
事前にambaCV2XおよびambaCV5Xのアプリをビルドしておきます。例としてPythonのsqlite_appをビルドした場合は、下記のファイルが生成されることになります。

SQLiteSampleAppPy_V0_1_ambaCV2X.ext
SQLiteSampleAppPy_V0_1_ambaCV2X.zip
SQLiteSampleAppPy_V0_1_ambaCV5X.ext
SQLiteSampleAppPy_V0_1_ambaCV5X.zip

このまま、下記の通り対象のディレクトリに移動しmake packを実行します。

Code Block
cd ${SDK_DIR}/src/adamapp-py/sqlite_app/
make pack

成功すると、ambaCV2XおよびambaCV5Xのアプリが1ファイルにまとめられます。

SQLiteSampleAppPy_V0_1_ambaCV2X5X.ext
SQLiteSampleAppPy_V0_1_ambaCV2X5X.zip

上記ファイルはambaCV2XカメラおよびambaCV5Xカメラに利用可能です。

Note

make pack後ののファイルサイズが約99MB以下の場合に、ambaCV2XおよびambaCV5Xカメラ両方へのアップロードが可能です。実動作はご確認ください。

ambaCV2XおよびambaCV5Xのアプリが1ファイルにまとめられると、その分ファイルサイズが大きくなります。ファイルサイズが大きいとアプリが動作しない場合があります。ファイルサイズ上限はカメラの機種や状態に依存して変動しますので、ご注意ください。

 

コンフィギュレーションファイルのフォーマット

...

コンフィギュレーションファイルとは、AdamApp の動作に必要な情報を記述したファイルです。Adam
実行環境は、このファイルの内容を参照して、AdamApp の制御(インストール/開始など)を行います。このため、このファイルの内容が誤っている場合は、AdamApp のインストールや開始に失敗することがありますので、正確に記述してください。
なお、このファイルは、AdamApp パッケージの作成時に参照されますので、AdamApp 作成のための
make 実行前までに作成しておく必要があります。

...

タグ名

説明

複数指定

選択性

ア プ リ ケ ー シ ョ ン 名 関 連 情 報

APPLICATION

AdamApp の実行ファイル名。 Makefile の PROG_NAME 変数と同じ名前を記載します。 使える文字は、英数字、ハイフン、アンダースコア、ピリオド で、256 文字以内です。

M

APPVERSION

AdamApp のバージョン。 使える文字は、英数字、ピリオドで、7 文字以内です。

M

APPNAME

AdamApp の正式名称。
この AdamApp の正式名称は、複数言語に対応しているため、
APPNAME0 Sample Application
というように APPNAME + リージョンコードというタグ名を構成
します。複数言語の正式名称を記載する場合には、この項目を複
数記載してください。

各言語に対応するタグ名は下記の通りです。

APPNAME0:英語

APPNAME1:日本語

APPNAME5:イタリア語

APPNAME7:フランス語

APPNAME9:ドイツ語

APPNAME11:スペイン語

APPNAME12:中国語

APPNAME13:ロシア語

APPNAME14:ポルトガル語

なお、APPNAME0(英語)は、必ず指定してください。その他の
APPNAME の指定については、任意です。
シングルクォートは使用できません。文字数は、32 文字以内です。
なお、文字コードは UTF-8 でなければなりません。

O

M

リ ソ ー ス 関 連 情 報

ROMSIZE (*1)

AdamApp が利用する ROM 使用量 (KB)。
この ROM 使用量には、AdamApp の実行ファイルだけでなく、
data ディレクトリに格納するファイルのサイズなども含みます。
AdamApp のインストール時に、この値を参照して、インストール可能かどうかを判断します。

M

RAMSIZE (*2)

AdamApp が利用する RAM 使用量(KB)。使用量(KB)
AdamApp のインストール時に、この値を参照して、インストール可能かどうかを判断します。
AdamApp の開始時に、この値を参照して、開始可能かどうかを判断します。

M

CPURATE (*2)

AdamApp が利用する CPU 使用率(%)。使用率(%)

WEB API getApplicationListの応答に使用されます。

M

AIACCRATE (*23)

AdamApp が利用する AI アクセラレータ使用率(%)
AdamApp の開始時に、この値を参照して、開始可能かどうかを判断します。

AIMEMSIZE (*3)

AdamApp が利用する AI メモリ使用量(KB)AdamApp の開始時に、この値を参照して、開始可能かどうかを判断します。

ス ク リ プ ト フ ァ イ ル 情 報

INSTALLER

インストール実行直後に実行されるシェルスクリプト名。
記述できるシェルスクリプトは、Bourne Shell(実際には、Bourne Shell 互換シェルである ash を利用)スクリプトのみです。
使える文字は、英数字、ハイフン、アンダースコア、ピリオドで、256 文字以内です。
なお、このシェルスクリプトを用いない場合は、値を記載しないか、この項目をコメントアウトしてください。

UPDATER

アップデート実行直後に実行されるシェルスクリプト名。
記述できるシェルスクリプトは、Bourne Shell(実際には、Bourne Shell 互換シェルである ash を利用)スクリプトのみです。
使える文字は、英数字、ハイフン、アンダースコア、ピリオドで、256 文字以内です。
なお、このシェルスクリプトを用いない場合は、値を記載しないか、この項目をコメントアウトしてください。

UNINSTALLER

アンインストール実行直前に実行されるシェルスクリプト名。
記述できるシェルスクリプトは、Bourne Shell(実際には、Bourne Shell 互換シェルである ash を利用)スクリプトのみです。
使える文字は、英数字、ハイフン、アンダースコア、ピリオドで、256 文字以内です。
なお、このシェルスクリプトを用いない場合は、値を記載しないか、この項目をコメントアウトしてください。

ラ イ セ ン ス 関 連 情 報

FUNCID

機能 ID。機能 ID は、AdamApp 毎に一意に割当てられる値で、通常、i-PRO 株式会社によって定められます。
この項目は、AdamApp に機能 ID を紐づけるためのものです。
使える文字は、16 進数で 8 桁の値です。

Info

AdamApp 開発時には、0000FF01~0000FFFF の間で設定してください。
なお、AdamApp 毎に違う機能 IDを設定してください。
もし、同じ機能 ID を設定されたAdamApp をインストールした時、後からインストールした AdamApp は、インストールエラーになります。

M

*1: ROMSIZE
以下の合計:
実行可能なファイルと共有ライブラリ(Linux サイズコマンドで取得した”text”と”data”のフィールドの合計値)。
Data ディレクトリの容量
Conf ディレクトリの容量

*2: RAMSIZE, CPURATE, AIACCRATE,
初めにサンプルアプリケーションと同じ値を設定してください。最後に、i-PRO カメラ上でアプリケーションを実行した際の値を設定してください。これらのパラメータについてはResource Monitorを参照ください。
また、利用可能な ROM/RAM のリソースについてはAppendix B: AdamApp で利用可能な CPU と RAMを参照ください。*3: AIACCRATE,AIMEMSIZE

サンプルアプリケーションと同じ値を設定してください。サンプルアプリケーションと同じ値を設定してください。内部処理で使用されることはありません。

AIアクセラレーターの活用事例

...

Note

・AI アクセラレータは i-pro ambaCV2X モデル向けの AdamApp でのみ、利用可能です。

・ツール(cvtool)は AdamAppSDK には含まれていません。必要な場合には、i-PRO 株式会社にお問合せください。

...