Versions Compared

Key

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

目次

...

Table of Contents
minLevel1
maxLevel4

はじめに

...

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}として記載します。

SDK ver.1.71以前の環境で開発/作成していたambaCV2X用アプリの移行手順

...

SDK ver.1.71以前の環境で開発/作成していたambaCV2X用アプリを、SDK ver.1.80以降の環境でambaCV2X用アプリを作成できるようにします。

SDK ver.1.71以前での移行準備

移行する前にSDK ver.1.71以前の環境で準備を行います。また、SDK ver.1.80は事前に取得しインストールを行っておいてください。

Info

こちらのポータルからSDKをダウンロードしてください。

スクリプトファイルのバックアップ

setupフォルダに配置されているスクリプトファイル(install.sh など)に対し、アプリ固有の変更を施されている場合、変更したスクリプトファイルのバックアップを取得しておいてください。

移行するアプリフォルダのcleanとコピー

SDK ver.1.71以前の環境で、移行するアプリフォルダ内でmake cleanを実行してください。
skeleton_sample_app で実施した例を示します。

...

${SDK_DIR_ver.1.80}/src/adamapp/skeleton_sample_app

Makefileの修正

アプリフォルダ内のMakefileをエディタで開き、下記修正を行ってください。

...

${SDK_DIR_ver.1.80}/src/adamapp/skeleton_sample_app/Makefile

機種固有データ(AIモデル等)の対応

AIモデル等の機種固有データを使用している場合、以下の対応が必要です。
※機種固有データを使用してない場合、次項へ進んでください。

...

Info

今後、ambaCV2xとambaCV5xで、アプリが使用するデータ(ファイル)を切り替えたい、という場合、ambaCV2x用のデータ(ファイル)をdata_CV2Xフォルダに移動し、ambaCV5x用のデータ(ファイル)をdata_CV5Xに格納することで実現可能です。
ambaCV5x用のデータ(ファイル)格納先は、skeleton_sample_appの場合は下記となります。
${SDK_DIR_ver.1.80}/src/adamapp/skeleton_sample_app/data_CV5X/cnn/sample.bin

スクリプトファイルの対応

スクリプトファイルに「アプリ固有の処理を行ってない場合」と「アプリ固有の変更を行っている場合」の移行手順は異なります。いずれかの移行手順を実施してください。
まず、「アプリ固有の処理を行ってない場合」の移行手順を説明します。

スクリプトファイルの対応:アプリ固有の処理を行ってない場合

configuration.txtを編集します。skeleton_sample_appの場合は下記に格納されています。

...

Info

INSTALLER install.sh
UPDATER update.sh
は有効化。
UNINSTALLER uninstall.sh
は無効化。

スクリプトファイルの対応:アプリ固有の変更を行っている場合

スクリプトファイルの変更

SDK ver.1.80ではスクリプトファイル[install.sh/update.sh/modelSwitching.sh]が下記フォルダに格納されています。

...

Info

アンインストール時のスクリプトファイル[uninstall.sh]にて独自処理を実施していない場合はコピーする必要はありません。
独自処理を実施している場合は、SDK ver.1.71以前からSDK ver.1.80に下記構成になるようコピーしてください。ファイル名はconfigration.txtの記載と一致していれば任意の文字列で問題ありません。

[C/C++]
${SDK_DIR_ver.1.80}/src/adamapp/[任意のサンプルアプリ]/setup/uninstall.sh

[Python]
${SDK_DIR_ver.1.80}/src/adamapp-py/[任意のサンプルアプリ]/setup/uninstall.sh

configration.txtの編集

登録時/更新時のスクリプト実行が必須のため、下記のconfigration.txtファイルを編集します。

...

Info

・SDK ver.1.71以前のPythonはデフォルトではスクリプトを全て呼ばない記載になっているので、特に注意ください。

install.shの編集

install.shの先頭で、modelSwitching.shを呼ぶように編集してください。
${SDK_DIR_ver.1.80}/src/adamapp/.setup/install.sh を参考にしてください。

update.shの編集

update.shの先頭で、modelSwitching.shを呼ぶように編集してください。
${SDK_DIR_ver.1.80}/src/adamapp/.setup/update.sh を参考にしてください。

uninstall.shについて

削除時に必要な処理は特にありませんので、uninstall.shは削除してください。
独自処理を加えている場合は何も編集する必要はありません。

make方法

ambaCV2X用アプリのmake手順は、SDK ver.1.71以前から変更有りません。下記を参考に実施してください。

https://iproiot.atlassian.net/wiki/spaces/TPFAQ/pages/1027771372/AdamApp#AdamApp-%E3%81%AE%E3%83%93%E3%83%AB%E3%83%89%E3%81%A8%E3%83%91%E3%83%83%E3%82%B1%E3%83%BC%E3%82%B8%E3%81%AE%E7%94%9F%E6%88%90

SDK ver.1.80環境でambaCV5X用アプリの作成手順

...

ここまでの手順で、SDK ver.1.71以前の環境で開発/作成していたambaCV2X用アプリをSDK ver.1.80環境で作成できるようになりました。続いて、SDK ver.1.71以前の環境で開発/作成していたアプリをambaCV5X用として作成できるようにします。

前準備として「SDK ver.1.71以前の環境で開発/作成していたambaCV2X用アプリの移行手順」を全て終えている必要があります。

ambaCV5X用toolchainの登録

toolchainの入手に関してはSDK入手時に同梱されています。toolchainがない場合はこちらを参照し、SDKをダウンロードしてください。

機種固有データ(AIモデル等)の対応

AIモデル等の機種固有データを使用している場合は、ここで記載している手順に従って対応してください。機種固有データを使用していない場合は、対応不要ですので次項に進んでください。

...

[C/C++]
${SDK_DIR_ver.1.80}/src/adamapp/[任意のサンプルアプリ]/data_CV5X/cnn/***.bin

[Python]
${SDK_DIR_ver.1.80}/src/adamapp-py/[任意のサンプルアプリ]/data_CV5X/cnn/***.bin

外部ライブラリの対応

外部ライブラリ「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

make方法

ambaCV5X用アプリのmake手順は、setup_env.shの引数を[ipro-ambaCV5X]に変更するだけで、他はambaCV2Xの場合と同じです。

...