Skip to main content

Introduction

This document describes how to work with the RISC and Qualcomm LE GA1.3 (QLI 1.3) Board Support Package (BSP) release.

Yocto Version​

Yocto 4.0.22

Kernel Version​

Kernel 6.6.52

Host Machine Requirements

OS​

Ubuntu 20.04 or Ubuntu 22.04

CPU​

Intel Core-i7 Processor (>= 8 cores)

RAM​

16+ GB RAM

Disk​

350 GB free disk space (more is recommended and SSD is suggested for better performance)

Docker Install and BSP Download

Install Docker Engine on Your Platform​

Please refer to Docker Installation Guide for details

Pull Docker Images​

$ sudo docker pull advrisc/u20.04-qcslbv2:latest

Run Docker Example​

$ mkdir -p /home/bsp/myLinux
$ sudo docker run --privileged -it --name qclinux -v /home/bsp/myLinux:/home/adv/BSP:rw advrisc/u20.04-qcslbv2 /bin/bash
adv@7cc0fa834366:~$ sudo chown adv:adv -R BSP

Download BSP​

$ repo init -u https://dev.azure.com/AIM-Linux/risc_qcs_linux_le_1.3_public/_git/manifest -b main -m ${OFFICIAL_MANIFEST}
$ repo sync -c -j${YOUR_CPU_CORE_NUM}
  • AOM-2721: A example of ${OFFICIAL_MANIFEST} is aom2721a1_yocto4.0.22-le1.3_v1.1.0_kernel-6.6.52_qcs6490+qcs5430.xml
  • AOM-5721: A example of ${OFFICIAL_MANIFEST} is aom5721a1_yocto4.0.22-le1.3_v0.0.1_kernel-6.6.52_qcs6490+qcs5430.xml
  • MIO-5355: A example of ${OFFICIAL_MANIFEST} is mio5355a1_yocto4.0.22-le1.3_v0.1.0_kernel-6.6.52_qcs6490.xml
  • DS-011: A example of ${OFFICIAL_MANIFEST} is ds011a1_yocto4.0.22-le1.3_v0.1.0_kernel-6.6.52_qcs6490.xml

If you want to get latest bsp

$ repo init -u https://dev.azure.com/AIM-Linux/risc_qcs_linux_le_1.3_public/_git/manifest -b main -m ${LATEST_MANIFEST}
$ repo sync -c -j${YOUR_CPU_CORE_NUM}
  • AOM-2721: ${LATEST_MANIFEST} is aom2721a1_yocto4.0.22-le1.3_v0.0.0_kernel-6.6.52_qcs6490+qcs5430.xml
  • AOM-5721: ${LATEST_MANIFEST} is aom5721a1_yocto4.0.22-le1.3_v0.0.0_kernel-6.6.52_qcs6490+qcs5430.xml
  • MIO-5355: ${LATEST_MANIFEST} is mio5355a1_yocto4.0.22-le1.3_v0.0.0_kernel-6.6.52_qcs6490.xml
  • DS-011: ${LATEST_MANIFEST} is ds011a1_yocto4.0.22-le1.3_v0.0.0_kernel-6.6.52_qcs6490.xml

Get and Unzip the Downloads Files​

Yocto downloads file:[ downloads_qcs6490_le1.3_public.tar.gz ]

The size of downloads_qcs6490_le1.3_public.tar.gz is 41937076025?byte (40,954,176 KB)

The md5sum of downloads_qcs6490_le1.3_public.tar.gz is ffdea91e5c562703e576c3c0087f771c

Build Instructions

Build Yocto Images in the Docker Container​

$ cd /home/adv/BSP
$ MACHINE=${YOCTO_MACHINE_NAME} DISTRO=qcom-robotics-ros2-humble QCOM_SELECTED_BSP=custom source setup-robotics-environment
$ ../qirp-build qcom-robotics-full-image
  • AOM-2721: ${YOCTO_MACHINE_NAME} is qcs6490aom2721a1
  • AOM-5721: ${YOCTO_MACHINE_NAME} is qcs6490aom5721a1
  • MIO-5355: ${YOCTO_MACHINE_NAME} is qcs6490mio5355a1
  • DS-011: ${YOCTO_MACHINE_NAME} is qcs6490ds011a1

Output ufs images: build-qcom-robotics-ros2-humble/tmp-glibc/deploy/images/qcm6490/qcom-robotics-full-image Output emmc images: build-qcom-robotics-ros2-humble/tmp-glibc/deploy/images/qcm6490/qcom-robotics-full-image-emmc

Device Guides

QCS6490​

SW112
UFSONON
eMMCOFFON
SW212
USB EDL ModeON
Normal ModeOFF
ATON
ATXOFF

Recovery & Rescue

Using BSP Launcher or QDL(Qualcomm Device Download) tool to flash software images to the device.

Prepare images​

Get the Official Images and Unzip​

EX:

$ sudo tar -zxvf aom5721a1_yocto4.0.22-le1.3_v0.0.1_kernel-6.6.52_qcs6490+qcs5430_6490-16g-8g+5430-8g-4g_emmc_2026-01-15.tgz

Build Folder Images​

cd ${workspace}/build-qcom-robotics-ros2-humble/tmp-glibc/deploy/images/${YOCTO_MACHINE_NAME}/qcom-robotics-full-image

Use BSP Launcher to Flash image on x86 Ubuntu Host​

Please use BSP Launcher

Use QDL Tool to Flash Image on x86 Windows Host​

QDL User and Installation Guide

Overview

Qualcomm Device Loader (QDL ) is a software tool that communicates with Qualcomm USB devices to upload a flash loader and flash software images.

Installation Guide

  1. Download Qualcomm Device Loader from below link https://softwarecenter.qualcomm.com/catalog/item/Qualcomm_Device_Loader

  2. According your host mach to select OS type and which version you want qdl_downalod_page.png

  3. Unzip download file in any path

  4. Serach Edit the system environment variables (?��?變數) to open Advanced system settings Also you can open Settings app ??System ??About ??Advanced system settings ??Advanced qdl_open_system_environment.png

  5. Select Environment Variables (?��?變數) qdl_environment_variable.png

  6. Select Path then edit (編輯) qdl_edit_environment_path.png

  7. Select New (?��?) and type the Qualcomm Device Loader path then select OK (確�?) qdl_add_environment_path.png

  8. Search cmd to open Windows Terminal

qdl_cmd.png

  1. Type qdl and you can see the QDL usage now!! qdl_terminal.png

You can see the QDL_User_Guide.pdf for more details qdl_user_guide.png

winUSB Installation Guide

  1. Let board enter EDL mode

Please check Device Guides for more details

  1. Connect the EDL USB port to PC

  2. Search device manager (裝置管�??? qdl_open_device_manager.png

  3. Uninstall other drivers for the device qdl_remove_usb.png

  4. Open install_driver.bat in QDL path to install winUSB driver qdl_install_usb_driver_bat.png

  5. Press any key to close window qdl_usb_driver_install_success.png

Let device in EDL mode and connect the EDL USB Port to HOST.

Please check Device Guides for more details

Open terminal and enter the image folder:

EX:

cd ${workspace}/build-qcom-robotics-ros2-humble/tmp-glibc/deploy/images/${YOCTO_MACHINE_NAME}/qcom-robotics-full-image

Choosing the platform to flashing image.

QCS6490​

QCS6490 Platform Flashing Guide

UFS

Flash provision (Once only)​

qdl prog_firehose_ddr.elf provision_ufs31.xml

qcs6490_flash_provision.png

Flash UFS All Images​

qdl prog_firehose_ddr.elf rawprogram*.xml patch*.xml

qcs6490_flash_image.png

EMMC

Flash EMMC All Images​

qdl --storage emmc prog_firehose_ddr.elf rawprogram*.xml patch*.xml

Switch device to Normal Mode and power on device

Customization

Setting up SDK​

You can download the sdk from [ sdk.qcs6490.le.1.3.tar.gz ]

The size of sdk.qcs6490.le.1.1.r00041.0.tar.gz is 5303727696?byte (5,179,422?KB)

The md5sum of sdk.qcs6490.le.1.1.r00041.0.tar.gz is f200fabd69c4751c61c280b6583449e7

Or perform the following command in terminal console

$ cd build-qcom-robotics-ros2-humble/tmp-glibc/deploy/sdk
$ sudo ./qcom-robotics-ros2-humble-x86_64-qcom-robotics-full-image-armv8-2a-qcs6490aom2721a1-toolchain-2.1.2.sh

Enter new installed directory or just press Enter to use default directory. While Proceed[Y/n]? shows up, please enter the correct one.

Waiting for the SDK installed (while the following messages show up completely)

Setting up cross compiling environment​

SDK has been set up (ref.Setting_up_SDK) Perform the following command in terminal console

$ source ${TOOLCHAIN}/environment-setup-armv8-2a-qcom-linux