郑州网站开发便宜,动漫制作专业就业前景,旅游做攻略用什么网站好,营销外包公司The Qualcomm Intelligent Robotics Product SDK (QIRP SDK) 高通智能机器SDK基于ROS2进行开发#xff0c;此SDK适用于高通linux发行版本#xff0c;QIRPSDK中提供以下内容#xff1a;
ROS 包中用于支持机器人应用程序开发的参考代码
用于评估机器人平台的端到端场景示例集…The Qualcomm Intelligent Robotics Product SDK (QIRP SDK) 高通智能机器SDK基于ROS2进行开发此SDK适用于高通linux发行版本QIRPSDK中提供以下内容
ROS 包中用于支持机器人应用程序开发的参考代码
用于评估机器人平台的端到端场景示例集成交叉编译工具链包括常见的编译工具例如 aarch64-oe-linux-gcc、make、cmake 和 ROS 核心集成开发的工具和脚本
QIRP SDK整体架构如下图所示 Qualcomm® Intelligent Multimedia SDK (IM SDK) 提供用于优化应用开发的 Qualcomm 硬件加速插件。
Qualcomm® Intelligent Robotics Function SDK: 为 Qualcomm 机器人平台提供机器人功能 ROS 节点。该 SDK 基于 ROS2这是一个开源的操作系统。
Qualcomm® AI Engine Direct SDK: 为 Qualcomm 芯片组和 AI 加速核心上的 AI/ML 用例提供软件架构。它提供了一个统一的 API具有模块化和可扩展的单独加速器库形成了全栈 AI 解决方案的可重用基础。它支持 runtime如 Qualcomm Neural Processing SDK 和 TensorFlow Lite AI Engine Direct Delegate。 编译和安装QIRPSDK
前提条件需要Ubunt22.04的主机和至少50GB的磁盘空间
Ubuntu 主机需要进行一些配置操作确保所需的软件工具已安装和配置可以使用。
1.安装以下软件包准备好运行 Yocto 版本所需的主机环境
sudo apt update
sudo apt install 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_ALLen_US.UTF-8 LANGen_US.UTF-8
export LC_ALLen_US.UTF-8
export LANGen_US.UTF-8
3更新 git 配置
# Check if your identity is configured in. gitconfig
git config --get user.email
git config --get user.name # Run the following commands if you do not have your account identity set in .gitconfig
git config --global user.email Your email ID
git config --global user.name Your Name # Add the following UI color option for output of console (optional)
git config --global color.ui auto # Add the following git configurations to fetch large size repositories and to avoid unreliable connections
git config --global http.postBuffer 1048576000
git config --global http.maxRequestBuffer 1048576000
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999 编译基础镜像
1.设置repo
mkdir -p ~/bin
cd ~/bin
#Note if you already have a previous directory of repo_tool, you can delete it
rm -rf ~/bin/repo_tool
git clone https://android.googlesource.com/tools/repo.git -b v2.41 repo_tool
cd repo_tool
git checkout -b v2.41
export PATH~/bin/repo_tool:$PATH
如果您所在的区域阻止了对 android.googlesource 的访问请尝试以下配置以从 Codelinaro 镜像获取存储库
git config --global url.https://git.codelinaro.org/clo/la/tools/repo.insteadOf https://android.googlesource.com/tools/repo
如果上述方法不起作用也可以尝试用命令行安装repo
sudo apt install curl
mkdir -p ~/bin
curl https://raw.githubusercontent.com/GerritCodeReview/git-repo/v2.41/repo -o ~/bin/repo chmod x ~/bin/repo
export PATH~/bin:$PATH
注意最新的repo只支持python3 2.下载 Qualcomm Yocto 和支持层 mkdir workspace cd workspace
repo init -u https://github.com/quic-yocto/qcom-manifest -b qcom-linux-kirkstone -m robotics-release-manifest
repo sync -c -j8
有关最新版的robotics-release-manifest请参考Qualcomm Documentation
举例
这里采用‘qcom-6.6.28-QLI.1.1-Ver.1.1_robotics-product-sdk-1.1’版本
repo init -u https://github.com/quic-yocto/qcom-manifest -b qcom-linux-kirkstone -m qcom-6.6.28-QLI.1.1-Ver.1.1_robotics-product-sdk-1.1.xml
repo sync -c -j8
下载完后检查layer文件夹下这些层是否存在
meta-qcom
meta-qcom-hwe
meta-qcom-distro
meta-ros
meta-qcom-robotics
meta-qcom-robotics-distro
meta-qcom-robotics-sdk
meta-qcom-qim-product-sdk
meta-qcom-qim-product-sdk 3.设置编译环境
cd workspace
MACHINEqcm6490 DISTROqcom-robotics-ros2-humble source setup-robotics-environment
4编译机器人镜像和 QIRP SDK 组件
../qirp-build qcom-robotics-full-image
编译过程中可能会出现网络错误导致fetch error多尝试几次即可。
编译完成后可查看以下文件是否存在
QIRP SDK artifacts workspace/build-qcom-robotics-ros2-humble/tmpglibc/deploy/qirpsdk_artifacts/qirp-sdk_version.tar.gz
Robotics imageworkspace/build-qcom-robotics-ros2-humble/tmpglibc/deploy/images/qcm6490/qcom-robotics-full-image 刷写镜像需要RB3Gen2设备
确保在 Linux 主机上配置了 Qualcomm 制造供应商 ID 05c6 的 udev USB 规则
1.导航到 udev USB 规则目录
cd /etc/udev/rules.d
ls
如果 51-qcom-usb.rules 文件不存在使用 sudo vi 51-qcom-usb.rules 创建该文件并将以下内容添加到文件中
SUBSYSTEMSusb, ATTRS{idVendor}05c6, ATTRS{idProduct}9008, MODE0666, GROUPplugdev
重新启动udev
sudo systemctl restart udev 2.将设备进入EDL模式
adb shell reboot edl 3.验证设备是否已进入 QDL 模式
lsusb
输出以下内容表示成功进入QDL
Bus 002 Device 014: ID 05c6:9008 Qualcomm, Inc. Gobi Wireless Modem (QDL mode) 4.确保ModemManager 未在运行
有些 Linux 发行版本随附 ModemManager即一款用于配置移动宽带的工具。当设备以 USB 模式连接时它会被识别为 Qualcomm ModemModemManager 会尝试配置该设备。由于这会干扰 QDL 刷写因此您必须在连接设备之前禁用 ModemManager。如果使用的 Linux 发行版本带有 systemd则可使用以下命令停止 ModemManager
sudo systemctl stop ModemManager
如果您需要 ModemManager则可在刷写完成后再次启动它。 5. 导航到工作区中的以下位置可找到 QDL 工具并刷写镜像
# cd workspace_path/build-qcom-wayland/tmp-glibc/deploy/images/MACHINE/IMAGE
# build_path: For DISTROqcom-wayland, it is build-qcom-wayland.
# For DISTROqcom-robotics-ros2-humble, it is build-qcom-robotics-ros2-humble
# qdl prog.mbn [program patch ...]
# Example: build_path is build-qcom-wayland
cd workspace_path/build-qcom-wayland/tmp-glibc/deploy/images/qcm6490/qcom-multimedia-image
./qdl prog_firehose_ddr.elf rawprogram*.xml patch*.xml
如果您在终端窗口上看到 partition 1 is now bootable如以下消息所示则表示刷写成功
LOG: INFO: Calling handler for setbootablestoragedrive
LOG: INFO: Using scheme of value 1
partition 1 is now bootable
LOG: INFO: Calling handler for power
LOG: INFO: Will issue reset/power off 100 useconds, if this hangs check if watchdog is enabled
LOG: INFO: bsp_target_reset() 1
刷写操作成功后运行 lsusb 命令以在终端窗口上查看设备信息
Bus 002 Device 006: ID 05c6:901d Qualcomm, Inc. QCM6490_fd2913cf 作者王纪尧 高通工程师