本文将会介绍如何在编译Qualcomm Liunx代码, 具体可以在Qualcomm Linux | Qualcomm下查看相关信息。
编译服务器配置
首先,准备一台Ubuntu 22.04版本主机或者服务器
1,编译Yocto 系统,需要如下一些配置
sudo apt update
sudo apt install repo gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool locales tar python-is-python3 file libxml-opml-simplegen-perl vim whiptail
2,确认本地配置
sudo locale-gen en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
3,配置git
确认是否有配置过git config
git config --get user.email
git config --get user.name
如果没有配置过git config,你可通过如下方式配置你的信息
git config --global user.email <Your email ID>
git config --global user.name <"Your Name">
添加如下输出UI颜色
git config --global color.ui auto
添加如下git config,为了同步大型代码包或者避免不可靠的连接
git config --global http.postBuffer 1048576000
git config --global http.maxRequestBuffer 1048576000
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999
同步代码列表
Yocto layers | Manifest release tag | Distribution (DISTRO) |
---|---|---|
* meta-qcom * meta-qcom-hwe | Base build: High-level OS and prebuilt firmware (GPS only) qcom-6.6.28-QLI.1.1-Ver.1.1.xml | qcom-wayland |
* meta-qcom * meta-qcom-hwe * meta-qcom-qim-product-sdk | Base build + QIMP SDK build: qcom-6.6.28-QLI.1.1-Ver.1.1_qim-product-sdk-1.1.3.xml | qcom-wayland |
* meta-qcom * meta-qcom-hwe * meta-qcom-realtime | Base build + Real-time kernel build: qcom-6.6.28-QLI.1.1-Ver.1.1_realtime-linux-1.0.xml | qcom-wayland |
* meta-qcom * meta-qcom-hwe * meta-ros * meta-qcom-robotics * meta-qcom-robotics-distro * meta-qcom-robotics-sdk * meta-qcom-qim-product-sdk | Base build + QIRP SDK build: qcom-6.6.28-QLI.1.1-Ver.1.1_robotics-product-sdk-1.1.xml | qcom-robotics-ros2-humble |
本文主要介绍关于QIMP SDK的编译,Qualcomm Intelligent Multimedia Product (QIMP) SDK在Qualcomm®Linux平台上的边缘开发人工智能和多媒体用例提供了一个统一的环境。QIMP SDK基于开源多媒体框架GStreamer。它提供了一个模块化、可扩展和可定制的环境来开发智能多媒体应用程序,如Edge AI盒子、相机、机器人和无人机。
编译 QIMP SDK 代码
1,下载Qualcomm Yocto
创建工作目录,编译主机最好有300G大小的空间,以防空间不足
mkdir <WORKSPACE_DIR>
cd <WORKSPACE_DIR>
repo init -u https://github.com/quic-yocto/qcom-manifest -b qcom-linux-kirkstone -m <manifest release tag>
Example, <manifest release tag> is qcom-6.6.28-QLI.1.1-Ver.1.1.xml
repo sync
2,Clone QIMP SDK layer
git clone https://github.com/quic-yocto/meta-qcom-qim-product-sdk -b <qim-product-sdk release tag> layers/meta-qcom-qim-product-sdk
Example, <qim-product-sdk release tag> is qcom-6.6.28-QLI.1.1-Ver.1.1_qim-product-sdk-1.1.3
编译QIMP SDK layer,需要如下配置
export EXTRALAYERS="meta-qcom-qim-product-sdk"
3,配置代码环境
MACHINE=qcm6490 DISTRO=qcom-wayland source setup-environment
source setup-environment: 设置编译环境,然后创建 build-qcom-wayland目录,
运行完成后进入 build-qcom-wayland目录.
4,编译代码
bitbake qcom-multimedia-image
Build SDK image
bitbake qim-product-sdk
编译完成后,可以在如下位置查看system.img是否生成
cd <workspace_path>/build-qcom-wayland/tmp-glibc/deploy/images/qcm6490/qcom-multimedia-image
ls -al system.img
最后可以通过QDL工具,将目录qcom-multimedia-image里的镜像下载到设备里,启动设备。