...
Table of Contents | ||||
---|---|---|---|---|
|
...
はじめに
...
AdamApp は、定められた形式(AdamApp パッケージ形式)にパッケージングをして、インス トールする必要があります。このため、AdamAppSDK では、AdamApp のビルドと AdamApp パッケージ 作成を、容易に行える環境を提供します。
...
また、このチュートリアルでは、SDKのインストールディレクトリを${SDK_DIR}
として記載します。
...
AdamApp のパッケージ形式
...
AdamApp パッケージ形式とは、カメラにインストールする際のパッケージ形式です。 具体的には、下記に示すディレクトリ構成で、かつ、これらを zip 化 + 暗号化したものです。
...
AdamApp をアンインストールする際に実行されるシェルスクリプトです。AdamApp がア ンインストールされる直前に実行されます。
...
ターゲット依存マクロ
...
この節では、ターゲット依存マクロについて説明します。ターゲット依存マクロは、機種や OS などの違 いを示すもので、マクロ変数として定義され、ソースコード、ヘッダファイル、Makefileから利用すること ができます。開発者は、機種や OS などによって AdamApp の実装を変える必要がある場合、このマクロを 利用することで、作り分けることができます。
1.2.1 では、ソースコード、及び、ヘッダファイルに対するマクロの説明を行います。
1.2.2 では、Makefile に対するマクロの説明を行います。
...
ソースファイルとヘッダーファイルのマクロ
ソースファイル、及び、ヘッダファイル用のターゲット依存マクロは、下記のマクロが定義されます。
Macro Name | Description |
---|---|
Macro to represent the architecture (ADAM_TARGET_ARCH_XXX) | |
ADAM_TARGET_ARCH_aarch64-linux-gnu | Linux 64bit on aarch64 (For ambaCV2X) |
Macro to represent the model name (ADAM_TARGET_MODEL_XXX) | |
ADAM_TARGET_MODEL_ipro | i-pro Model |
Macro to represent the OS (ADAM_TARGET_OS_XXX) | |
ADAM_TARGET_MODEL_linux | Linux |
Macro to represent the detail platform (ADAM_TARGET_PF_XXX) | |
ADAM_TARGET_PF_ipro_ambaCV2X_linux | i-pro Model / ambaCV2X / Linux |
...
Makefileのマクロ
Makefile 用のターゲット依存マクロは、下記のマクロが定義されます。
Macro Name | Value | Description |
---|---|---|
ADAM_TARGET_ARCH | Macro to represent the architecture | |
aarch64-linux-gnu | Linux 64bit on aarch64 (For ambaCV2X) | |
ADAM_TARGET_MODEL | Macro to represent the model name | |
ipro | i-pro Model | |
ADAM_TARGET_OS | Macro to represent the OS | |
linux | Linux | |
ADAM_TARGET_PF | Macro to represent the detail platform | |
ipro_ambaCV2X_linux | i-pro Model / ambaCV2X / Linux |
...
AdamApp パッケージの生成手順
...
この節では、AdamApp パッケージの具体的な作成手順について、AdamAppSDK のサンプルプログラム (SkeletonSampleApp)を用いて、説明します。 パッケージ作成手順は、大きく分けて、下記の 3 つのフェーズで構成されています。
...
それぞれの具体的な方法について、これ以降で説明していきます。
...
ソースファイルと Makefile を生成する
(1) ソースファイルの作成と配置
AdamAppSDK では、AdamApp のソースコードは、
<AdamAppSDK の イ ン ス ト ー ル デ ィ レ ク ト リ >/src/adamapp
以下に置くことを前提としています。
その前提に従って、AdamAppSDK 付属のサンプルプログラム(SkeletonSampleApp)のソースコードは、
<AdamAppSDK の イ ン ス ト ー ル デ ィ レ ク ト リ >/src/adamapp/skeleton_sample_app
に配置されています。
このため、新規に AdamApp を作りたい場合は、
<AdamAppSDK のインストールディレクトリ>/src/adamapp/<新規 AdamApp のディレクトリ名>
...
PROG_CXXFLAGS= $(ADAM_CXXFLAGS)
PROG_CXXFLAGS+= -fno-rtti
PROG_CXXFLAGS+=
PROG_CXXFLAGS は、C++のコンパイルオプションを指定する変数です。 AdamApp 独自の C++コンパイルオプションがある場合は、この変数に追記して下さ い。 なお、PROG_CXXFLAGS に設定済みの値[$(ADAM_CXXFLAGS)]は、消さないでく ださい。
...
ファイルの生成と配置
(1) AdamApp 用外部データファイルの作成と配置
...
AdamApp で、設定値管理機能を用いる場合は、「App Preference Function Guide」★に従って、設定 値管理ファイルを作成し、appPrefs.json というファイル名で、skeleton_sample_app/ディレクトリ直 下に配置してください。
...
AdamApp のビルドとパッケージの生成
AdamApp に必要なファイルの作成と配置が完了したら、AdamApp のビルドとパッケージ作成を行いま
す。具体的には、(1)AdamApp の実行環境に対応する設定ファイルを読み込み、(2)make の実行、を実施し
ます。
詳しい手順について、これ以降で説明します。
...
SkeletonSampleApp :
デバッグ情報付きの実行プログラムです。gdbserver などを使って、AdamApp のデバッグする時に は、このファイルを用いて、デバッグ情報の読み込みを行います。なお、bin/SkeletonSampleApp は、デバッグ情報を取り除かれた実行プログラムです。
SkeletonSampleApp.zip :
必要な情報を格納した bin, data, config, setup の各ディレクトリを zip 化したパッケージファイルで す。AdamApp をインストールする際には、このファイルを用います。また暗号化する際は、この ファイルを i-PRO 株式会社へ送付します。
SkeletonSampleApp.ext :
SkeletonSampleApp.zip を Base64 化したパッケージファイルです。AdamApp のインストールす る際に、zip ファイルではなく、Base64 ファイルを指定する必要がある場合に、このファイルを用 います。(監視カメラの商品 UI を用いてのインストールなど)
...
コンフィギュレーションファイルのフォーマット
...
コンフィギュレーションファイルとは、AdamApp の動作に必要な情報を記述したファイルです。Adam
実行環境は、このファイルの内容を参照して、AdamApp の制御(インストール/開始など)を行います。このため、このファイルの内容が誤っている場合は、AdamApp のインストールや開始に失敗することがありますので、正確に記述してください。
なお、このファイルは、AdamApp パッケージの作成時に参照されますので、AdamApp 作成のための
make 実行前までに作成しておく必要があります。1.4.1 では、コンフィギュレーションファイルの記述すべき項目についての説明を行います。
具体的な記述例については、任意のサンプルアプリのconfiguration.txt を参照してください。
${SDK_DIR}/src/adamapp/[任意のサンプルアプリ]/configuration.txt
...
configuration.txt の各用語
コンフィギュレーションファイルの各項目は、タグと値で構成されており、下記のフォーマットで記述し ます。
...
サンプルアプリケーションと同じ値を設定してください。
...
AIアクセラレーターの活用事例
...
Note |
---|
・AI アクセラレータは i-pro ambaCV2X モデル向けの AdamApp でのみ、利用可能です。 ・ツール(cvtool)は AdamAppSDK には含まれていません。必要な場合には、i-PRO 株式会社にお問合せください。 |
...
Adam では、上記の手順 1.を行うためのツール(cvtool)を用意しています。cvtool の使用方法については、 別冊のドキュメント AdamApp_CVtool_UserManual ★を参照してください。
...
Appendix
...
Appendix A: 製品のセキュリティについて
...