...
(4) Generate preferences file
Please refer to here to create setting value control file when using setting
value control function. Place the file under skeleton_sample_app/ directory by the name of
appPref.json.
...
Build and create a package of AdamApp after creating and placing the required files for AdamApp.
(1) Read configuration file for the AdamApp execution environment and (2) Execute make
(1) Read configuration file for the building environment settings
setup_env.sh is provided as a setup file for the building environment. You can set up building
environment by reading setup_env.sh using ‘source’ command with parameter depending on execution
environment of AdamApp.
Addressable parameters are as follows:
When creating an AdamApp that runs on i-pro ambaCV2X model:
ipro-ambaCV2X
Code Block |
---|
$ cd ${SDK_DIR}
$ source setup_env.sh ipro-ambaCV2X |
Info |
---|
If the following message is displayed, reading of the build configuration file was successful. ***** /usr/local/linaro-aarch64-2018.08-gcc8.2/bin/aarch64-linux-gnu-gcc found. ***** |
(2) Execute make (build and generate package of AdamApp)
You will need to execute make to build and generate an AdamApp package. AdamApp package will be build and generated automatically. When it is successful, the following three files are generated within skelton_sample_app directory.
SkeletonSampleApp :
The execution program of SkeletonSampleApp
SkeletonSampleApp.zip :
The package of SkeletonSampleApp
SkeletonSampleApp.ext :
Encoded file by BASE64
Code Block |
---|
$ cd src/adamapp/skeleton_sample_app
$ ls –CF
Makefile configuration.txt skeletonSampleApp.cpp
bin/ data/ setup/
$ make
(Omitted)
$ ls –CF
Makefile bin/ setup/
SkeletonSampleApp* configuration.txt skeletonSampleApp.cpp
SkeletonSampleApp.ext conf/ skeltonSampleApp.d
SkeletonSampleApp.zip data/ skeltonSampleApp.o |
The descriptions of the three files mentioned above are as follows.
SkeletonSampleApp.zip :
This is a package file including bin, data, config and setup directories and is encoded by zip.
SkeletonSampleApp.ext :
This file is an encoded file of SkeltonSampleApp.zip by BASE64. Use this file if you need to specify Base64 instead of zip file when installing AdamApp to the camera. (e.g., installation using UI of commercial surveillance camera).
For detailed instructions, please see here if you are using SDK v1.71 or earlier.
If you are using SDK v1.80 or later, please refer here.
Build the ambaCV2X and ambaCV5X extension apps into one file
This article explains how to combine ambaCV2X and ambaCV5X applications into one file. If there is no need to combine them into one file, there is no problem if you do not perform this. Build the ambaCV2X and ambaCV5X apps in advance. As an example, if you build Python's sqlite_app, the following files will be generated.
SQLiteSampleAppPy_V0_1_ambaCV2X.ext
SQLiteSampleAppPy_V0_1_ambaCV2X.zip
SQLiteSampleAppPy_V0_1_ambaCV5X.ext
SQLiteSampleAppPy_V0_1_ambaCV5X.zip
Now, move to the target directory as shown below and run make pack.
Code Block |
---|
cd ${SDK_DIR}/src/adamapp-py/sqlite_app/
make pack |
If successful, the ambaCV2X and ambaCV5X apps will be combined into one file.
SQLiteSampleAppPy_V0_1_ambaCV2X5X.ext
SQLiteSampleAppPy_V0_1_ambaCV2X5X.zip
The above files are available for ambaCV2X and ambaCV5X cameras.
Note |
---|
If the ambaCV2X and ambaCV5X apps are combined into one file, the file size will increase accordingly. The app may not work if the file size is large. Please note that the file size limit varies depending on the camera model and condition. |
Format of configuration file
...
Tag name | Description | Multi selectable | Optionality | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Application name related information | APPLICATION | The name of AdamApp execution file. Write the same name as PROG_NAME variable in Makefile. Up to 256 characters using alpha-numeral, hyphen, under score, and period. | M | ||||||||||||||
APPVERSION | AdamApp version information. Up to 7 characters using alpha-numeral and period. | M | |||||||||||||||
APPNAME | The AdamApp official name Tag name should be a combination of APPNAME + region code. This is because an AdamApp official name supports multiple language. e.g., APPNAME0 SampleApplication Tag names of languages are as follows:
Please always specify APPNAME0(English). The other languages are optional. Single quote cannot be used. The number of characters is up to 32. Character code must be UTF-8 | O | M | Information of release | ROMSIZE (*1) | ROM size used for AdamApp. ROM size includes not only execution file of AdamApp but also the file size stored in data directory. Whether AdamApp can be installed or NOT is determined depending on these values. | M | RAMSIZE (*2) | RAM size used for AdamApp. Whether AdamApp can be installed or NOT is determined depending on these values. Whether AdamApp can be started or NOT is determined depending on these values when starting AdamApp. | M | CPURATE (*2) | AdamApp CPU usage. | M | AIACCRATE (*2) | Adam App AI Accelerator utilization. Whether AdamApp can be started of languages are as follows:
Please always specify APPNAME0(English). The other languages are optional. Single quote cannot be used. The number of characters is up to 32. Character code must be UTF-8 | O | M |
Information of release | ROMSIZE (*1) | ROM size used for AdamApp. ROM size includes not only execution file of AdamApp but also the file size stored in data directory. Whether AdamApp can be installed or NOT is determined depending on these values when starting AdamApp. | M | ||||||||||||||
AIMEMSIZE RAMSIZE (*32) | AI Memory RAM size used by for AdamApp. Whether AdamApp can be started installed or NOT is determined depending on these values when starting AdamApp. Whether AdamApp can be started or NOT is determined depending on these values when starting AdamApp. | M | |||||||||||||||
CPURATE (*2) | AdamApp CPU usage. This will be used in the response of WEB API getApplicationList. | M | |||||||||||||||
AIACCRATE (*3) | Adam App AI Accelerator utilization. | ||||||||||||||||
AIMEMSIZE (*3) | AI Memory size used by AdamApp. | ||||||||||||||||
Information of script file | INSTALLER | Name of the shell script that is executed soon after the installation. Only in Bourne Shell format (Bourne Shell compatible ash should be used). Alpha-numeral, hyphen, under score, and period can be used. The number of characters should be within 256. When this shell script is not used, do not indicate any value or comment out this item. | |||||||||||||||
UPDATER | The name of the shell script executed soon after an update. Only in Bourne Shell format (Bourne Shell compatible ash should be used). Alpha-numeral, hyphen, under score, and period can be used. The number of characters should be within 256. When this shell script is not used, do not indicate any value or comment out this item. | ||||||||||||||||
UNINSTALLER | Name of the shell script executed right before the uninstallation. Only in Bourne Shell format (Bourne Shell compatible ash should be used). Alpha-numeral, hyphen, under score, and period can be used. The number of characters should be within 256. When this shell script is not used, do not indicate any value or comment out this item. | ||||||||||||||||
Information of license | FUNCID | Function ID This is a unique value for each AdamApp which is normally assigned by i-PRO Co., Ltd. This value can link AdamApp to the function ID. The ID should be 8 digit and in hex.
| M |
*1: ROMSIZE
Sum of followings.
Size of executable file and shared libraries (sum of “text” and “data” field value obtained with the
Linux size command.)
Size of data directory.
Size of conf directory.
*2: RAMSIZE, CPURATE, AIACCRATE,
At first, set the same value as the sample application.
At last, set the value when running the application on the i-PRO camera.
How to see these parameters described in here.
Available ROM/RAM resources described in here.
*3: AIACCRATE, AIMEMSIZE
Set the same value as the sample application. These are not used in internal processing.
Case of using AI accelerator
...
A tool (cvtool) to be used to process the step1 above is provided by Adam. Please see here for how to use cvtool.
Appendix
...