高通智能多媒体(QIM)产品SDK快速入门指南(2)
4 开发和定制应用程序
使用 QIM 产品 SDK,您可以开发第一个名为 Hello QIM 的示例应用程序,也可以自定义并执行现有示例应用程序。
在开始之前,请执行以下操作:
- 确保平台镜像已创建。有关说明,请参阅使用 CLI 方法或使用 Yocto 命令构建。
- 从平台映像创建可安装的平台 SDK。
平台 SDK 提供与 Qualcomm Linux 平台接口的工具和 API,以实现应用程序开发。
笔记
生成平台 SDK 是一次性步骤。

生成平台SDK
-
运行以下命令创建平台SDK:
bitbake -c populate_sdk qcom-multimedia-image
例如:
/local/mnt/workspace/qcom-6.6.13-QLI.1.0-Ver.1.2_qim-product-sdk/build-qcom-wayland$ bitbake -c populate_sdk qcom-multimedia-image
平台 SDK 在 <WORKSPACE_DIR>/build-qcom-wayland/tmp-glibc/deploy/sdk/创建。它是一个独立的安装程序,可以与对应用程序开发感兴趣的开发人员共享,而无需进行完整的 BSP 构建。
-
运行以下命令提取平台SDK:
sh /local/mnt/workspace/qcom-6.6.13-QLI.1.0-Ver.1.2_qim-product-sdk/build-qcom-wayland/tmp-glibc/deploy/sdk/qcom-wayland-x86_64-qcom-multimedia-image-armv8-2a-qcm6490-toolchain-1.0.sh
主机已准备好进行应用程序开发。接下来,您可以使用平台 SDK 开发您的第一个应用程序。
- 开发您的第一个应用程序
Hello-QIM 是示例应用程序,可用于体验 Qualcomm Linux 平台的功能。示例应用程序托管在 GitHub 上。 - 自定义示例应用程序
QIM 产品 SDK 示例应用程序展示了 SDK 的集成,可实现端到端边缘分析用例。
4.1 开发您的第一个应用程序
Hello-QIM 是可用于体验 Qualcomm Linux 平台功能的示例应用程序。示例应用程序托管在 GitHub 上。
在开始开发 Hello QIM 示例应用程序之前,请确保在主机上生成平台 SDK。有关生成平台 SDK 的说明,请参阅开发和自定义应用程序。
gst-appsink-example GStreamer 应用程序演示了如何使用 appsink 插件从相机管道中提取缓冲区样本。对于此过程,正在使用 gst-appsink-example 应用程序。
-
执行以下命令,进入平台SDK安装目录。
cd <installation directory of platfom SDK>
-
运行以下命令设置源环境:
source environment-setup-armv8-2a-qcom-linux
-
运行以下命令从 GitHub 下载 Hello-QIM 示例应用程序。
git clone https://github.com/quic/sample-apps-for-qualcomm-linux
-
运行以下命令转至 Hello-QIM 应用程序。
cd sample-apps-for-qualcomm-linux/Hello-QIM
-
使用以下命令设置环境变量:
export SDKTARGETSYSROOT=<path to Installation directory of platfom SDK>/sysroots.
例如:
export SDKTARGETSYSROOT=/local/mnt/workspace/standaloneapp/sysroots.
export GST_APP_NAME=<appname>
例如:
export GST_APP_NAME=gst-appsink
-
运行make命令来编译应用程序。
要运行 Hello-QIM 程序,请执行以下操作:
-
运行以下命令将程序传输到Qualcomm Reference kit。
adb push gst-appsink /opt/
adb shell chmod 777 /opt/gst-appsink
-
运行以下命令以设置适当的显示配置并运行应用程序。
adb shell
cd /opt/
./gst-appsink -w 1280 -h 720.
Hello-QIM 应用程序已成功创建。将显示以下消息:
Hello-QIM:成功创建管道并收到相机帧。
4.2 定制示例应用程序
QIM 产品 SDK 示例应用程序展示了 SDK 的集成,可实现端到端边缘分析用例。
在开始之前,请确保您执行以下操作:
-
生成平台SDK。有关说明,请参阅开发和自定义应用程序。
-
执行以下命令,进入平台SDK安装目录。
cd <installation directory of platfom SDK>
-
运行以下命令设置源环境:
source environment-setup-armv8-2a-qcom-linux
执行以下操作来自定义示例应用程序:
-
使用以下命令克隆示例应用程序:
git clone https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss.git
cd gst-plugins-qti-oss
git fetch --all
-
使用以下命令查看示例应用程序的适当版本:
git checkout -b imsdk.lnx.2.0.0.r1-rel origin/imsdk.lnx.2.0.0.r1-rel
-
使用以下命令自定义示例应用程序:
cd <Installation directory of platfom SDK>
source environment-setup-armv8-2a-qcom-linux.
cd gst-sample-apps
cd <sample to compile>
-
使用以下命令下载用于编译应用程序的通用 Makefile:
wget https://raw.githubusercontent.com/quic/sample-apps-for-qualcomm-linux/main/Hello-QIM/Makefile
-
使用以下命令设置环境变量:
export SDKTARGETSYSROOT=<path to Installation directory of platfom SDK>/sysroots.
例如:
export SDKTARGETSYSROOT=/local/mnt/workspace/standaloneapp/sysroots.
export GST_APP_NAME=<appname>
例如:
export GST_APP_NAME=gst-appsink
-
运行make命令。
应用程序可执行文件在同一文件夹中生成。使用该adb push命令将应用程序推送到设备上。
5 升级SDK
功能 SDK 作为获取源或专有二进制文件的单独层集成到产品 SDK 中。虽然建议使用与特定 QIM 产品 SDK 预先集成的版本,但如果需要,您可以升级各个功能 SDK。
SDK 版本在https://github.com/quic-yocto/meta-qcom-qim-product-sdk/blob/kirkstone/conf/layer.conf的layer.conf文件中配置
升级高通神经处理SDK
要升级 Qualcomm 神经处理 SDK,请在版本字段中更新所需版本 。
要查找版本字符串,请转至QSC > Qualcomm 神经处理 SDK ,然后从版本下拉列表中选择所需的版本 。
升级Qualcomm AI Engine Direct SDK
如需升级 Qualcomm AI Engine Direct SDK,请在版本字段中更新所需版本 。
要查找版本字符串,请转至QSC > Qualcomm AI Engine Direct SDK ,然后从版本下拉列表中选择所需的版本 。