Thundercomm TurboX C8550 - QIM SDK

Revision as of 18:32, 10 December 2024 by Spalli (talk | contribs) (Created page with "<noinclude> {{Thundercomm TurboX C8550/Head|previous=Intelligent SDK|next=Intelligent SDK/TFLite SDK|description=}} </noinclude> {{DISPLAYTITLE:Thundercomm TurboX C8550 - QIM SDK|noerror}} 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 develop...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Index






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
Note
This step might take some time since it will run bitbake underneath, in our case it took around 1 hour the first time.

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

  1. TurboX C8550 Linux Embedded Standalone SDK Addon User Manual. Retrieved August 6, 2024, from [1]


Index