...
SDK ver.1.71以前は、ambaCV2X用のアプリのみ作成が可能でしたが、
SDK ver.1.80以降は、ambaCV2X用アプリに加えambaCV5X用アプリの作成が可能となります。
この機能拡張に伴い、アプリ内のフォルダ構成やスクリプトファイルが変更されています。
そのため、SDK ver.1.71以前のSDKで開発されたアプリをSDK ver.1.80以降でコンパイルするためには、
ここで記す移行手順を実施して頂く必要があります。本ページで記す移行手順を実施して頂く必要があります。
このチュートリアルでは、SDK ver.1.71以前のインストールディレクトリを${SDK_DIR_ver.1.71}
とし、SDK ver.1.80以降のインストールディレクトリを${SDK_DIR_ver.1.80}
として記載します。
...
スクリプトファイルの対応:アプリ固有の処理を行ってない場合
スクリプトファイルの変更
configuration.txtを編集します。hoge_appの場合は下記に格納されています。
...
Info |
---|
INSTALLER install.sh |
setupフォルダの削除
setupフォルダを削除します。hoge_appの場合は下記に格納されています。
${SDK_DIR_ver.1.80}
/src/adamapp/hoge_app/setup
スクリプトファイルの対応:アプリ固有の変更を行っている場合
スクリプトファイルの変更
SDK ver.1.80ではスクリプトファイル[install.sh/update.sh/modelSwitching.sh]が下記フォルダに格納されています。
...
INSTALLER install.sh
UPDATER update.sh
UNINSTALLER uninstall.sh
Info |
---|
・SDK SDK ver.1.71以前のPythonはデフォルトではスクリプトを全て呼ばない記載になっているので、特に注意ください。 |
...
前準備として「SDK ver.1.71以前の環境で開発/作成していたambaCV2X用アプリの移行手順」を全て終えている必要があります。
ambaCV5X用toolchainの登録
...
Info |
---|
Dockerを使ったiPRO Camera SDKアプリの開発環境構築 |
i-pro の ambaCV5X モデル向けの AdamApp を作成するには、SDKに含まれている Ambarella_CortexA76_Toolchain_GCC12.1_202304 をインストールしてく ださい。toolchainは下記にあります。${SDK_DIR_ver.1.80}
/.devcontainer/Ambarella_CortexA76_Toolchain_GCC12.1_202304.tar.xz
ambaCV5X モデル以外の場合は適宜読み替えてください。
下記のようにファイルを実行して、クロスコンパイラをインストールし てください。
Note |
---|
VirtualBox上の環境の場合、共有ディレクトリ上ではインストールに失敗する可能性がありますので、Ubuntu上のディレクトリにてインストールしてください。 |
Code Block |
---|
$ sudo apt-get install python3
$ cd ${SDK_DIR_ver.1.80}/.devcontainer
$ tar xvf Ambarella_CortexA76_Toolchain_GCC12.1_202304.tar.xz
$ cd Ambarella_CortexA76_Toolchain_GCC12.1_202304
$ sudo chmod +x ubuntuToolChain-linux5.15-202304
$ ./ubuntuToolChain-linux5.15-202304 |
Info |
---|
|
機種固有データ(AIモデル等)の対応
AIモデル等の機種固有データを使用している場合は、ここで記載している手順に従って対応してください。機種固有データを使用していない場合は、対応不要ですので次項に進んでください。AIモデル等の機種固有データを使用している場合は、本章で記載している手順に従って対応してください。機種固有データを使用していない場合は、対応不要ですので次項に進んでください。
事前に各自でambaCV5X用の機種固有データを準備しておいてください。
Info |
---|
ambaCV2x用に作成したAIモデルは、そのままではambaCV5xで利用できません。ambaCV5x用にコンバートすることで、ambaCV5xでの利用が可能となります。コンバートツールについては |
アプリフォルダに新たに[data_CV5X]フォルダを作成し、準備したambaCV5x用の固有データを格納してください。AIモデルの機種固有データ「***.bin」を例にすると、下記の構成になります。
...
外部ライブラリの対応
外部ライブラリ「lib***.so」などを使用している場合は、ここで記載している手順に従って対応してください。外部ライブラリを使用していない場合は、対応不要ですので次項に進んでください。so」などを使用している場合は、本章で記載している手順に従って対応してください。外部ライブラリを使用していない場合は、対応不要ですので次項に進んでください。
事前にambaCV5X用外部ライブラリを準備し、「aarch64-linux-gnu_CV5X」フォルダを新規作成して格納してください。gnu」フォルダに格納してください。ambaCV2X用外部ライブラリをそのまま流用可能であれば、そのまま利用ください。
ambaCV5X用外部ライブラリのデータ「lib***.so」を例にすると、下記の構成になります。
[C/C++]
${SDK_DIR_ver.1.80}
/src/adamapp/[任意のサンプルアプリ]/external/lib/aarch64-linux-gnu_CV5X/lib***.so[Python]
${SDK_DIR_ver.1.80}
/src/adamapp-py/[任意のサンプルアプリ]/external/lib/aarch64-linux-gnu_CV5X/lib***.so
CV52用のPythonアプリの場合
SDK ver.1.80以前で開発したCV2x用のPythonアプリを、SDK ver.2.00以降でCV52用アプリを作成する場合、下記手順を実施いただく必要があります。Python版のみですので、C版は実施不要です。
ここではSDK ver.2.00以降のディレクトリを${SDK_DIR_ver2.00}
とします。
SDK ver.1.80以降で動作していた開発アプリ(hoge_sample_appとします)を下記のように移動します。
${SDK_DIR_ver2.00}
\src\adamapp-py\hoge_sample_app
SDK ver.2.00の下記フォルダをコピーします。
${SDK_DIR_ver2.00}
\src\adamapp-py\additional_info_sample_app\.c_cxx_src
下記構成になるように移行した開発アプリフォルダにペーストします。
${SDK_DIR_ver2.00}
\src\adamapp-py\hoge_sample_app\.c_cxx_src
移行が完了したらビルドして動作することを確認してください。
make方法
ambaCV5X用アプリのmake手順は、setup_env.shの引数を[ipro-ambaCV5X]に変更するだけで、他はambaCV2Xの場合と同じです。
Code Block |
---|
$ cd ${SDK_DIR_ver.1.80} $ source setup_env.sh ipro-ambaCV5X |
makeの手順について詳細はこちらを参照ください。
Note |
---|
SDK ver.1.80以降の開発ではLinux OS(GUI)およびDockerを用いた開発のみサポート対象となります。WindowsおよびVirtual Boxなどを利用している場合はサポート対象となりません。SDK ver.1.71以前を利用していた方は下記を参考にDockerを用いた開発環境の構築をお願いします。 Dockerを使ったiPRO Camera SDKアプリの開発環境構築 - Technology Partner - Confluence (atlassian.net) |