Thundercomm TurboX C8550 - QIM SDK
This section will help you to build, install and test the QIM SDK. The QIM (Qualcomm Intelligent Multimedia) SDK is a GStreamer-based SDK that provides a set of multimedia, CV (Computer Vision), and AI (Artificial Intelligence) plug-ins to facilitate application developers in developing suitable applications [1]. For this section it's required to have built the base SDK first. If not, please follow first the instructions on the Building Images from Source section.
Please follow the next steps in order to configure it properly.
Download the QIM SDK Code
1. Execute the SDK Manager container:
turbox-sdkmanager-setup.sh --os-version 18.04 -u
2. Download the QIM SDK code:
sdkmanager --sdk_download
2.1. When asked for the product to use, select Turbox_C8550.
2.2. On the SDK branch selection, choose SDK.Turbox-QCS8550.LE.1.0.Standalone.sdk.addon.
2.3. For version options, choose turbox-qim-sdk-1.0-dev.release.r000002.
2.4. Press Enter to download the SDK code in the default path, and the confirm typing Yes.
The code will be located at workspace/sourcecode/turbox-qim-sdk-1.0-dev.release.r000002.
Download the SNPE SDK Code
The QIM SDK workflow can generate the QIM SDK plugin for Qualcomm Neural Processing SDK (formerly known as SNPE). To build the SNPE QIM SDK plug-in, the SNPE SDK needs to be downloaded and the path to SNPE SDK needs to be provided in the configuration JSON file. The following steps will guide you through this process:
1. Go to the source code directory:
/home/turbox/workspace/sourcecode
2. Get and unpack SNPE installation package:
wget https://thundercomm.s3.ap-northeast-1.amazonaws.com/uploads/web/c8550/snpe/SNPE-2.22.6.240515.zip
unzip SNPE-2.22.6.240515.zip -d snpe
Build the QIM SDK
1. Create the output directory for the SDK build:
cd ~
mkdir -p /home/turbox/workspace/intelligent-sdk/qim-sdk
2. Go to the QIM SDK source code directory:
cd workspace/sourcecode/turbox-qim-sdk-1.0-dev.release.r000002/sdk-tools
3. Build the QIM SDK:
source ./scripts/host/host_env_setup.sh
qimsdk-setup targets/LE.PRODUCT.2.1.json
4. Generate the QIM SDK artifacts:
qimsdk-setup targets/LE.PRODUCT.2.1.json
qimsdk-host-sync-artifacts-all targets/LE.PRODUCT.2.1.json
Install the QIM SDK
1. Connect to the board via ADB.
2. Remount the filesystem:
adb root
adb remount
adb shell mount -o remount,rw /
adb shell "mkdir -p /tmp"
3. Push the QIM packages to the device:
cd /home/turbox/workspace/intelligent-sdk/qim-sdk
unzip packages_null.zip -d packages_null
adb push packages_null/*.ipk /tmp
4. Push the SNPE libraries to the device:
adb shell "setenforce 0"
adb push /home/turbox/workspace/sourcecode/snpe/2.22.6.240515/lib/aarch64-oe-linux-gcc11.2/* /usr/lib/
adb push /home/turbox/workspace/sourcecode/snpe/2.22.6.240515/lib/hexagon-v73/unsigned/* /usr/lib/rfsa/adsp
adb push /home/turbox/workspace/sourcecode/snpe/2.22.6.240515/bin/aarch64-oe-linux-gcc11.2/* /usr/bin
5. Install the packages inside the device:
adb shell "opkg --force-depends --force-reinstall --force-overwrite install /tmp/*.ipk"
Test the QIM SDK
To test the QIM GStreamer elements please refer to the GStreamer Pipelines section.
References