Versions Compared

Key

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

...

AdamApp must be packaged into a defined format (refer to 5.1 regarding package format of AdamApp) and be installed. AdamAppSDK provides the environment to make building and packaging AdamApps with ease.

...

bin directory stores execution program of AdamApp. You can name the program as you like. If you built and package AdamApp using AdamAppSDK, the execution program will be automatically stored in this directory and will be named as specified by PROG_NAME macro in Makefile.

⚫ config ディレクトリ: コンフィギュレーション情報を格納するディレクトリ

config ディレクトリは、AdamApp 用のコンフィギュレーション情報を格納するディレクトリで す。コンフィギュレーション情報は、applicense.bin と profile.binの 2つのファイルが必須です。 applicense.bin と profile.bin の 2 つのファイルは、adamapp_configurator というツールを用い て、コンフィギュレーションファイル(AdamAppSDK のサンプルでは、configuration.txt とい う名前で配置しています)から生成します。コンフィギュレーションファイルの記載方法につい ては、コンフィギュレーションファイルのフォーマットを参照してください。 なお、 AdamAppSDK を用いて、 AdamApp をビルド、パッケージ化した場合には、 configuration.txt から applicense.bin と profile.bin を自動的に生成して、このディレクトリに配 置します。

⚫ data ディレクトリ: AdamApp 用外部データファイルを格納するディレクトリ

data ディレクトリは、AdamApp 用外部データファイルを配置できる唯一のディレクトリで す。 AdamApp 用外部データファイルを、インストール時に同時にコピーしたい場合には、そのフ ァイルをこの下に配置します。インストール時に、コピーしたい AdamApp 用外部データファイ ルがない場合は、このディレクトリは空にしておきます。

⚫ external ディレクトリ: AdamApp で使う外部ソフトウェアを配置するディレクトリ

AdamApp で利用する外部ソフトウェアのライブラリファイル(.a や.so ファイル)とヘッダファイル directory: for configuration files

This directory stores configuration information which is always a combination of Applicense.bin
file and profile.bin file. These 2 files are created out of a configuration file (placed by the name
of configuration.txt as a sample of AdamAppSDK) by using a tool called adamapp_configurator.
Please refer to here★link★ for how to write a configuration.txt.

Note that you will have to place the files in this directory once your built and packaged AdamApp by using AdamAppSDK to automatically generate applicense.bin as well as profile.bin out of configuration.txt.

⚫ data directory: for external data files of AdamApp

Data directory is the only place where you can store external data files for AdamApp. Files which were placed in this directory will be copied when AdamApp is installed. This directory should be empty if you do not have data files you need to copy.

⚫ external directory: for external software files used in AdamApp

Place library files (.a .so etc) and header files (.h .hpp .hxx ファイルなど)を、external ディレクトリ以下に配置してください。etc) included in the external software under external directory.

⚫ setup ディレクトリ: セットアップスクリプトファイルを格納するディレクトリsetup ディレクトリは、AdamApp のインストール時、アップデート時、アンインストール時に 実行させたいシェルスクリプトを格納します。記述できるシェルスクリプトは、Bourne Shell (実際には、Bourne Shell 互換シェルである ash を利用)スクリプトのみです。 シェルスクリプトは、下記の環境変数が渡されて実行されますので、シェルスクリプト内から これら環境変数を参照することができます。directory: for set-up shell script

setup directory is to store shell scripts which will be executed when installing, updating, or uninstalling AdamApp. The format is based on Bourne Shell ( Bourne Shell compatible ash should be used).

Shell script will be executed after the environment variables listed below are passed on. Thus, you can review these environment variables within the shell script.

ADAM_INSTALLID

Install ID of AdamApp のインストール ID .

ADAM_APP_DATA_DIR

AdamApp 用外部データファイルを格納するディレクトリのパス (= data ディレクトリのパスDirectory path for AdamApp external data files.(= Data directory path)

ADAM_APP_TMP_DIR

AdamApp の一時的なファイルを格納するディレクトリのパス

それぞれのシェルスクリプト名は、コンフィギュレーションファイルで指定します。 なお、シェルスクリプトを使うかどうかを、スクリプト毎に任意に設定可能です。使わない場 合は、コンフィギュレーションファイルに、シェルスクリプトのファイル名を記載しないでくだ さい。(その際、setup ディレクトリに、スクリプトファイルを配置しても問題は発生しません が、FlashROM の容量を無駄に消費することになりますので、配置しない方がよいです。)

➢ インストールスクリプト(任意)

AdamApp をインストールする際に実行されるシェルスクリプトです。AdamApp がインス トールされた直後に実行されます。

➢ アップデートスクリプト(任意)

AdamApp をアップデートする際に実行されるシェルスクリプトです。AdamApp がアップ デートされた直後に実行されます。

➢ アンインストールスクリプト(任意)

AdamApp をアンインストールする際に実行されるシェルスクリプトです。AdamApp がア ンインストールされる直前に実行されます。

ターゲット依存マクロ

この節では、ターゲット依存マクロについて説明します。ターゲット依存マクロは、機種や OS などの違 いを示すもので、マクロ変数として定義され、ソースコード、ヘッダファイル、Makefileから利用すること ができます。開発者は、機種や OS などによって AdamApp の実装を変える必要がある場合、このマクロを 利用することで、作り分けることができます。

ソースファイルとヘッダーファイルのマクロ

...

Directory path for AdamApp temporary files.

The name of each shell script should be specified by the configuration file. Your preference of using or not using shell script can be set up for each script. Do not write a file name of the shell script for the configuration file if you are not using a shell script. (In this case, keep setup directory empty in order to save some file space)

➢ Install Script (optional)

This script is executed just after AdamApp is installed. Format is based on Bourne Shell ( Bourne Shell compatible ash should be used).

➢ Update Script (optional)

This script is executed after an AdamApp has been updated. Format is based on Bourne Shell ( Bourne Shell compatible ash should be used).

➢ Uninstall Script (optional)

This script is executed right before AdamApp is uninstalled. Format is based on Bourne Shell ( Bourne Shell compatible ash should be used).

Target Dependent Macro

...

This section explains target dependent macros, which represent differences of models, OSs, and so on. They are defined as macro variables and are available within source files, header files and Makefiles. You can use these macros to change implementation of AdamApp on a specific model or OS that you are using.

Macros for source file and header file

Target dependent macros for source file and header file are as follows:

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のマクロ

...

Macros for Makefile

Target dependent macros for Makefile are as follows:

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

Procedure for generation of AdamApp

...

package

...

この節では、AdamApp パッケージの具体的な作成手順について、AdamAppSDK のサンプルプログラム (SkeletonSampleApp)を用いて、説明します。 パッケージ作成手順は、大きく分けて、下記の 3 つのフェーズで構成されています。

...