Difference between revisions of "AIM-Linux/BSP/Qualcomm/LE1.3 BSP User Guide"

From ESS-WIKI
Jump to: navigation, search
(Created page with "== Project == *AOM-2721 + ROM-ED92 **risc_qcs_yocto_le1.3_aom2721")
 
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Project ==
 
  
*AOM-2721 + ROM-ED92
+
= <span style="color:#2980b9;">Introduction</span> =
**[[AIM-Linux/BSP/Qualcomm/RISC_QCS_Yocto_LE1.3_AOM2721|risc_qcs_yocto_le1.3_aom2721]]
+
 
 +
This document describes how to work with the RISC and Qualcomm LE GA1.3 Board Support Package (BSP) release.
 +
 
 +
== Yocto Version ==
 +
 
 +
Yocto 4.0.22
 +
 
 +
== Kernel Version ==
 +
 
 +
Kernel 6.6.52
 +
 
 +
== Meta Build ID ==
 +
 
 +
QCM6490.LE.1.0-00321-STD.PROD-1
 +
 
 +
&nbsp;
 +
 
 +
= <span style="color:#2980b9;">Host machine requirements</span> =
 +
 
 +
== OS ==
 +
 
 +
Ubuntu 20.04 or Ubuntu 22.04
 +
 
 +
== CPU ==
 +
 
 +
Intel Core-i7 Processor (>= 8 cores)
 +
 
 +
== RAM ==
 +
 
 +
16+ GB RAM&nbsp;
 +
 
 +
== Disk ==
 +
 
 +
350 GB free disk space&nbsp;(more is recommended and SSD is suggested for better performance)
 +
 
 +
&nbsp;
 +
 
 +
= <span style="color:#2980b9;">Docker Install and BSP Download</span> =
 +
 
 +
== Install Docker Engine on your platform ==
 +
 
 +
Please refer to [https://docs.docker.com/engine/installation/ Docker Installation Guide] for details&nbsp;
 +
 
 +
== Pull docker images ==
 +
<pre>$ sudo docker pull advrisc/u20.04-qcslbv2:latest</pre>
 +
 
 +
== Run docker example ==
 +
<pre>$ 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
 +
</pre>
 +
 
 +
== Download BSP ==
 +
 
 +
<span style="color:#cc0000;">'''You need to get the ADV_GIT_TOKEN by contacting the PM or AE of project.'''</span>
 +
<pre>$ cd /home/adv/BSP
 +
$ git config --global credential.helper 'store --file ~/.my-credentials'
 +
$ echo "https://AIM-Linux:${ADV_GIT_TOKEN}@dev.azure.com" > ~/.my-credentials</pre>
 +
 
 +
Refer to Release image URL: [[AIM-Linux/BSP/Qualcomm/Linux_Yocto_OS_Release_note/LE1.3/Internal|OS Support List(LE1.3 based on Yocto4.0.22)]]&nbsp;
 +
 
 +
*'''AOM-2721''': A example of&nbsp;<span style="color:#9b59b6;">'''${OFFICIAL_MANIFEST}'''</span> is&nbsp;'''aom2721a1_yl01301_k0606052_q6490_08g.xml'''
 +
<pre>$ repo init -u https://dev.azure.com/AIM-Linux/risc_qcs_linux_le_1.3/_git/manifest -b main -m ${OFFICIAL_MANIFEST}
 +
$ repo sync -c -j${YOUR_CPU_CORE_NUM}
 +
$ cp layers/meta-advantech/recipes-sdk/files/content_config.json layers/meta-qcom-robotics-sdk/recipes-sdk/files/content_config.json</pre>
 +
 
 +
If you want to get latest bsp
 +
 
 +
*'''AOM-2721''': <span style="color:#9b59b6;">'''${LATEST_MANIFEST}'''</span> is '''adv-6.6.52-QLI.1.3-Ver.1.1_robotics-product-sdk-1.1.xml'''
 +
<pre>$ repo init -u https://dev.azure.com/AIM-Linux/risc_qcs_linux_le_1.3/_git/manifest -b main -m ${LATEST_MANIFEST}
 +
$ repo sync -c -j${YOUR_CPU_CORE_NUM}
 +
$ cp layers/meta-advantech/recipes-sdk/files/content_config.json layers/meta-qcom-robotics-sdk/recipes-sdk/files/content_config.json</pre>
 +
 
 +
<span style="color:#0000ff;">'''You can check the download BSP as the following.'''</span>
 +
 
 +
[[File:2025-04-02 112442.jpg|400px|2025-04-02 112442.jpg]]
 +
 
 +
== Get and Unzip the Downloads Files ==
 +
 
 +
1. Private Yocto downloads file '''<span style="color:#cc0000;">(Must to do)</span>&nbsp;''': [https://www.dropbox.com/scl/fi/ya7lc432def36jfpixjtz/downloads_qcs6490_le1.3_private.tar.gz?rlkey=1dh3834shze8f1gy9fgm6vja6&st=xwomvk5u&dl=0 [ downloads_qcs6490_le1.3_private.tar.gz ]]
 +
 
 +
The size of downloads_qcs6490_le1.3_private.tar.gz is <span style="color:#c0392b;">247132088</span> byte (<span style="color:#c0392b;">241,340 KB</span>)
 +
 
 +
The md5sum of downloads_qcs6490_le1.3_private.tar.gz is <span style="color:#c0392b;">33f2ddc9db5d65eb4951303209b787a7</span>
 +
 
 +
<span style="color:#cc0000;">'''You need to get the PASSWORD by contacting the PM or AE of project.'''</span>
 +
<pre>$ cd /home/adv/BSP
 +
$ openssl des3 -d -k ${PASSWORD} -salt -pbkdf2 -in downloads_qcs6490_le1.3_private.tar.gz -out downloads_qcs6490_le1.3_private_decrypt.tar.gz
 +
$ tar -zxvf downloads_qcs6490_le1.3_private_decrypt.tar.gz
 +
</pre>
 +
 
 +
2. Public Yocto downloads file: [https://www.dropbox.com/scl/fi/ukgmxwzl58m6dtfblml1s/downloads_qcs6490_le1.3_public.tar.gz?rlkey=ly777v1667ppxm2vbklwdspfc&st=nxpd8u0q&dl=0 [ downloads_qcs6490_le1.3_public.tar.gz ]]
 +
 
 +
The size of downloads_qcs6490_le1.3_public.tar.gz is <span style="color:#c0392b;">41937076025</span> byte (<span style="color:#c0392b;">40,954,176 KB</span>)
 +
 
 +
The md5sum of downloads_qcs6490_le1.3_public.tar.gz is <span style="color:#c0392b;">ffdea91e5c562703e576c3c0087f771c</span>
 +
<pre>$ cd /home/adv/BSP
 +
$ tar -zxvf downloads_qcs6490_le1.3_public.tar.gz
 +
</pre>
 +
 
 +
&nbsp;
 +
 
 +
= <span style="color:#2980b9;">Build Instructions</span> =
 +
 
 +
== Source env ==
 +
 
 +
'''<span style="color:#ff0000;">For the "Build All images", "Build All Images individually" and "Build yocto images", you need to do the "Source env".</span>'''
 +
<pre>$ source scripts/env.sh</pre>
 +
 
 +
== Build All Images ==
 +
 
 +
*'''AOM-2721''': <span style="color:#9b59b6;">'''${MACHINE}'''</span> is '''qcs6490aom2721a1'''
 +
<pre>$ scripts/build_release.sh -all -${MACHINE} -user</pre>
 +
 
 +
*'''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'''
 +
 
 +
== Build All Images individually ==
 +
 
 +
==== 1. Build ADSP Image ====
 +
 
 +
After building the ADSP, you need to build the "6. Generate Firmware Prebuilds" to package new firmware prebuild files.
 +
<pre>$ scripts/build_release.sh -adsp</pre>
 +
 
 +
==== 2. Build AOP Image ====
 +
 
 +
After building the AOP, you need to build the "6. Generate Firmware Prebuilds" to package new firmware prebuild files.
 +
<pre>$ scripts/build_release.sh -aop</pre>
 +
 
 +
==== 3. Build CDSP Image ====
 +
 
 +
After building the CDSP, you need to build the "6. Generate Firmware Prebuilds" to package new firmware prebuild files.
 +
<pre>$ scripts/build_release.sh -cdsp</pre>
 +
 
 +
==== 4. Build BOOT(XBL) Image ====
 +
 
 +
After building the BOOT(XBL), you need to build the "6. Generate Firmware Prebuilds" to package new firmware prebuild files.
 +
<pre>$ scripts/build_release.sh -boot</pre>
 +
 
 +
==== 5. Build TZ Image ====
 +
 
 +
After building the TZ, you need to build the "6. Generate Firmware Prebuilds" to package new firmware prebuild files.
 +
<pre>$ scripts/build_release.sh -tz</pre>
 +
 
 +
==== 6. Generate Firmware Prebuilds ====
 +
<pre>$ scripts/build_release.sh -common</pre>
 +
 
 +
'''Output firmware prebuild files:'''
 +
 
 +
'''amss/QCM6490.LE.1.0/common/build/ufs/bin/QCM6490_bootbinaries.zip'''
 +
 
 +
'''amss/QCM6490.LE.1.0/common/build/ufs/bin/QCM6490_dspso.zip'''
 +
 
 +
'''amss/QCM6490.LE.1.0/common/build/ufs/bin/QCM6490_fw.zip'''
 +
 
 +
==== 7. Build YOCTO Image by build&nbsp;script ====
 +
 
 +
*'''AOM-2721''': <span style="color:#9b59b6;">'''${MACHINE}'''</span> is '''qcs6490aom2721a1'''
 +
<pre>$ scripts/build_release.sh -yocto -${MACHINE} -user
 +
</pre>
 +
 
 +
== Build yocto images ==
 +
 
 +
*'''AOM-2721''': <span style="color:#9b59b6;">'''${MACHINE}'''</span> is '''qcs6490aom2721a1'''
 +
<pre>$ cd /home/adv/BSP
 +
$ source scripts/env.sh
 +
$ unset DEBUG_BUILD
 +
$ MACHINE=${MACHINE} DISTRO=qcom-robotics-ros2-humble QCOM_SELECTED_BSP=custom source setup-robotics-environment
 +
$ ../qirp-build qcom-robotics-full-image
 +
</pre>
 +
 
 +
= <span style="color:#2980b9;">Recovery & Rescue</span> =
 +
 
 +
Using windows PCAT or Qualcomm Download (QDL) tool to flash software images to the device.
 +
 
 +
== Get the official images and unzip ==
 +
 
 +
Release image URL: [[AIM-Linux/BSP/Qualcomm/Linux_Yocto_OS_Release_note/LE1.3/Internal|OS Support List(LE1.3 based on Yocto4.0.22)]]
 +
 
 +
Unzip command example:
 +
<pre>$ sudo tar -zxvf aom2721a1_yl01301_k0606052_q6490_08g_ufs4_2025-04-06.tgz</pre>
 +
 
 +
== Enter EDL download mode ==
 +
 
 +
*Connect the&nbsp;'''Micro USB (EDL)'''&nbsp;to your host computer.
 +
*'''Forced Recovery''': The SW2 switch to 1-on.
 +
*'''Flash EMMC''': the SW1 switch to 1-off, 2-on
 +
*'''Flash UFS''': the SW1 switch to 1-on, 2-on
 +
*Connect the adapter and power on the device
 +
 
 +
== Use the windows PCAT to flash images ==
 +
 
 +
=== '''Install''' ===
 +
 
 +
You can choose one of the following methods to install the flash tool.
 +
 
 +
==== '''Install via CLI''' ====
 +
 
 +
'''1. Download and install the Qualcomm Software Center&nbsp;'''
 +
 
 +
'''&nbsp; &nbsp; &nbsp; [https://softwarecenter.qualcomm.com/#/ Qualcomm® Software Center]&nbsp;'''
 +
 
 +
'''2. Open CMD or PowerShell'''
 +
 
 +
'''3. Login your &nbsp;Qualcomm ID&nbsp;'''
 +
<pre>qsc-cli login -u <USER> -p <PASSWORD>
 +
</pre>
 +
 
 +
'''4. Install'''
 +
 
 +
Use -rv to specify the version you want to install.<br/> The tool has only been tested with the version mentioned below.<br/> Using other versions may result in unexpected behavior or inconsistent outcomes.
 +
<pre>qsc-cli tool install --name pcat --activate-default-license -rv 2.40.2.83
 +
qsc-cli tool install --name quts --activate-default-license -rv 1.82.2.7
 +
qsc-cli tool install --name qud --activate-default-license -rv 1.00.90.9
 +
</pre>
 +
 
 +
If you see the message "Accept and continue with installation [y/n]&nbsp;:", type y and press Enter to proceed.
 +
 
 +
==== '''Install via GUI''' ====
 +
 
 +
'''1. Download the Qualcomm Software Center&nbsp;'''
 +
 
 +
'''&nbsp; &nbsp; &nbsp; [https://softwarecenter.qualcomm.com/#/ <span lang="EN-US" style="font-family:Aptos">Qualcomm® Software Center</span>]&nbsp;'''
 +
 
 +
'''2. Open the&nbsp;Qualcomm Software Center&nbsp;'''
 +
 
 +
'''3. Search "PCAT" in the search bar&nbsp;'''
 +
 
 +
'''[[File:ROM-2860 search bar.PNG|RTENOTITLE]]'''
 +
 
 +
'''4. Click&nbsp;Qualcomm® Product Configuration Assistant Tool&nbsp;'''
 +
 
 +
'''5. Select Qualcomm® Product Configuration Assistant Tool version&nbsp;'''
 +
 
 +
'''&nbsp; &nbsp; Version: 2.33.2.119'''
 +
 
 +
'''[[File:ROM-2860 PCAT Tool version.PNG|RTENOTITLE]]'''
 +
 
 +
'''6. Install&nbsp;Qualcomm® Product Configuration Assistant Tool 2.33.2.119&nbsp;'''
 +
 
 +
'''7.&nbsp;Search "QUTS" in the search bar&nbsp;&nbsp;'''
 +
 
 +
'''[[File:ROM-2860 QUTS Tool.PNG|RTENOTITLE]]'''
 +
 
 +
'''8. Click the&nbsp;&nbsp;Qualcomm® Unified Tools Services&nbsp;'''
 +
 
 +
'''9. Select&nbsp;Qualcomm® Unified Tools Services version&nbsp;'''
 +
 
 +
'''&nbsp; &nbsp; &nbsp;Version&nbsp;: 1.75.2.9'''
 +
 
 +
'''10. Install&nbsp;Qualcomm® Unified Tools Services&nbsp; 1.75.2.9&nbsp;'''
 +
 
 +
'''[[File:ROM-2860 QUTS Tool version.PNG|RTENOTITLE]]'''
 +
 
 +
'''11. You will find the new application after installing the&nbsp;PCAT and&nbsp;&nbsp;QUTS in your Windows system .&nbsp;'''
 +
 
 +
'''[[File:ROM-2860 new tools in windows.PNG|RTENOTITLE]]'''
 +
 
 +
'''12. Unzip the UFS File and eMMC File&nbsp;'''
 +
 
 +
'''For example&nbsp;:&nbsp;'''
 +
 
 +
'''&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;aom2721a1_yl01301_k0606052_q6490_08g_ufs4_2025-04-06.tgz'''
 +
 
 +
'''&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;aom2721a1_yl01301_k0606052_q6490_08g_emmc_2025-04-06.tgz&nbsp;'''
 +
 
 +
'''13. Connect your device via Micro USB.'''
 +
 
 +
=== '''<u>USF Provision</u>&nbsp;&nbsp;''' ===
 +
 
 +
'''1. Select&nbsp; provision button&nbsp;&nbsp;&nbsp;[[File:ROM-2860 provision file button.PNG|RTENOTITLE]]&nbsp;&nbsp;'''
 +
 
 +
[[File:ROM-2860 provision file icon.PNG|RTENOTITLE]]
 +
 
 +
'''2. Add the&nbsp;prog_firehose_ddr.elf and&nbsp;provision_ufs31.xml in UFS&nbsp;&nbsp;folder.&nbsp;'''
 +
 
 +
[[File:ROM-2860 provision file.PNG|RTENOTITLE]]
 +
 
 +
'''3. Then press "OK" , it will start to do USF Provision.&nbsp;'''
 +
 
 +
[[File:ROM-2860 provision file running.PNG|RTENOTITLE]]
 +
 
 +
'''4. When the Provision finished , you can see the result in message window.&nbsp;'''
 +
 
 +
[[File:ROM-2860 provision file result.PNG|RTENOTITLE]]
 +
 
 +
=== '''<u>Flash UFS</u>''' ===
 +
 
 +
'''&nbsp;<span style="background-color:#ffff00;">1. Change the SW1 and SW2&nbsp;</span>'''
 +
 
 +
'''<span style="background-color:#ffff00;">&nbsp;Flash UFS:&nbsp; the SW1 switch to 1-on, 2-on</span>'''
 +
 
 +
'''<span style="background-color:#ffff00;">Forced Recovery&nbsp;:&nbsp;&nbsp;The SW2 switch to 1-on&nbsp; ,2 - on .&nbsp;</span>'''
 +
 
 +
'''&nbsp;2. Turn on the power&nbsp;'''
 +
 
 +
'''&nbsp;3. Open " PCATApp" Tool&nbsp;'''
 +
 
 +
'''&nbsp;4. Click " Connect A Device"&nbsp;'''
 +
 
 +
[[File:ROM-2860 PCAT UFS .PNG|RTENOTITLE]]
 +
 
 +
'''5. Select&nbsp; "Qualcomm HS-USB QDLoader 9008 (COM6)&nbsp;'''
 +
 
 +
[[File:ROM-2860 PCAT Tool Select device.PNG|RTENOTITLE]]
 +
 
 +
'''6. Click " Connect "&nbsp; device&nbsp;'''
 +
 
 +
[[File:ROM-2860 PCAT Tool Connect device.PNG|RTENOTITLE]]
 +
 
 +
'''7. When you connected successfully , it will show&nbsp; "green word" - Qualcomm HS-USB QDLoader 9008 (COM 6)&nbsp;'''
 +
 
 +
[[File:ROM-2860 PCAT UFS connectiondevice.PNG|RTENOTITLE]]
 +
 
 +
'''8. Select UFS Folder in PCAT Tool , the Tool will help load Files automatically and Select "MEMORY_TYPE_UFS"&nbsp;'''
 +
 
 +
[[File:ROM-2860 PCAT Select UFS File .PNG|RTENOTITLE]]
 +
 
 +
'''9. Click " Download"&nbsp;'''
 +
 
 +
[[File:ROM-2860 PCAT Select UFS File Download.png|RTENOTITLE]]
 +
 
 +
'''10. UFS Download Status&nbsp;'''
 +
 
 +
'''[[File:ROM-2860 PCAT Select UFS File Download status.png|RTENOTITLE]]'''
 +
 
 +
'''11. UFS Donwload compeleted&nbsp;'''
 +
 
 +
'''[[File:ROM-2860 PCAT Select UFS File Download status 100.png|RTENOTITLE]]'''
 +
 
 +
'''12. When the UFS installation finished . Close the PCAT tool ,'''
 +
 
 +
'''13. pleaes remove the mirco usb cable, turn off the power&nbsp;'''
 +
 
 +
'''14.'''&nbsp;'''UFS boot up&nbsp;:&nbsp;'''
 +
 
 +
'''<span style="background-color:#ffff00;">The SW1 switch to 1-on, 2-on</span>'''
 +
 
 +
'''<span style="background-color:#ffff00;">The SW2 switch to 1-off, 2-on</span>'''
 +
 
 +
'''15. Connect debug cable and open the terminal ,&nbsp;&nbsp;turn on the power .&nbsp;'''
 +
 
 +
'''16.&nbsp; When the systme boot up , you need to type &nbsp;" qcs6490aom2721a1&nbsp;login: root "&nbsp; , " Password: oelinux123"'''
 +
 
 +
'''17.&nbsp; After type the long in and password , and you also can chek the image information about date , kernel version etc..&nbsp;'''
 +
 
 +
&nbsp;
 +
 
 +
=== '''Flash eMMC''' ===
 +
 
 +
'''1.&nbsp; Turn off the Power&nbsp;'''
 +
 
 +
'''<span style="background-color:#ffff00;">2.&nbsp;Change the SW1 and SW2&nbsp;</span>'''
 +
 
 +
'''<span style="background-color:#ffff00;">&nbsp;Flash eMMC:&nbsp; The SW1 switch to 1-off, 2-on</span>'''
 +
 
 +
'''<span style="background-color:#ffff00;">Forced Recovery&nbsp;:&nbsp;&nbsp;The SW2 switch to 1-on, 2-on</span>'''
 +
 
 +
'''3. Turn on the power&nbsp;'''
 +
 
 +
'''4. Make sure the device connection status.&nbsp;'''
 +
 
 +
'''5.&nbsp;If the device disconnect with PCAT Tool , please connect it again.&nbsp;'''
 +
 
 +
[[File:ROM-2860 PCAT Tool Connect device.PNG|RTENOTITLE]]
 +
 
 +
'''6. Select eMMC Folder.'''
 +
 
 +
'''[[File:ROM-2860 PCAT Select eMMC File.png|RTENOTITLE]]7. Make sure the setting ,then press " Download " button.'''
 +
 
 +
[[File:ROM-2860 PCAT check eMMC setting download1.png|RTENOTITLE]]
 +
 
 +
'''&nbsp;8. eMMC downlaoad status&nbsp;'''
 +
 
 +
[[File:ROM-2860 PCAT Select eMMC File Download status.png|RTENOTITLE]]
 +
 
 +
'''9. eMMC Donwload compeleted&nbsp;'''
 +
 
 +
[[File:ROM-2860 PCAT Select eMMC File Download status 100.png|RTENOTITLE]]
 +
 
 +
'''10. When the eMMC installation finished . Close the PCAT tool ,'''
 +
 
 +
'''11. pleaes remove the mirco usb cable, turn off the power&nbsp;'''
 +
 
 +
'''12.'''&nbsp;'''eMMC boot up&nbsp;:&nbsp;'''
 +
 
 +
'''<span style="background-color:#ffff00;">The SW1 switch to 1-off, 2-on</span>'''
 +
 
 +
'''<span style="background-color:#ffff00;">The SW2 switch to 1-off, 2-on&nbsp;</span>'''
 +
 
 +
'''13. Connect debug cable and open the terminal ,&nbsp;&nbsp;turn on the power .&nbsp;'''
 +
 
 +
'''14.&nbsp; When the systme boot up , you need to type &nbsp;" qcs6490aom2721a1&nbsp;login: <span style="background-color:#ffff33;">root </span>"&nbsp; , " Password: <span style="background-color:#ffff00;">oelinux123</span>"'''
 +
 
 +
'''15.&nbsp; After type the long in and password , and you also can chek the image information about date , kernel version etc..&nbsp;'''
 +
 
 +
&nbsp;
 +
 
 +
= <span style="color:#2980b9;">Customization</span> =
 +
 
 +
== Setting up SDK ==
 +
 
 +
You can download the sdk from [https://www.dropbox.com/scl/fo/tptbp080ohgckjdbr3vrq/AD16nQx5ve4u_DPnWCZiY7U/officialbuild/risc_qcs_linux_yocto_le_1.3?dl=0&preview=sdk.qcs6490.le.1.3.tar.gz&rlkey=647rksjn60zyqj4i134tflsuj&subfolder_nav_tracking=1 [ sdk.qcs6490.le.1.3.tar.gz ]]
 +
 
 +
The size of sdk.qcs6490.le.1.1.r00041.0.tar.gz is <span style="color:#c0392b;">5303727696</span><span style="color:#c0392b;">&nbsp;</span>byte (<span style="color:#c0392b;">5,179,422&nbsp;KB</span>)
 +
 
 +
The md5sum of sdk.qcs6490.le.1.1.r00041.0.tar.gz is <span style="color:#c0392b;">f200fabd69c4751c61c280b6583449e7</span>
 +
 
 +
Or perform the following command in terminal console
 +
<pre>$ 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</pre>
 +
 
 +
Enter new installed directory or just press <code>Enter</code> to use default directory. While <code>Proceed[Y/n]?</code> shows up, please enter the correct one.
 +
 
 +
[[File:2025-04-07 112724.jpg|400px|2025-04-07 112724.jpg]]
 +
 
 +
Waiting for the SDK installed (while the following messages show up completely)
 +
 
 +
[[File:2025-02-18 124037.jpg|400px|2025-02-18 124037.jpg]]
 +
 
 +
== Setting up cross compiling environment ==
 +
 
 +
SDK has been set up (ref.[[#Setting_up_SDK|<span style="color:#FF0000">Setting up SDK</span>]]) Perform the following command in terminal console
 +
<pre>$ source ${TOOLCHAIN}/environment-setup-armv8-2a-qcom-linux
 +
 
 +
</pre>

Latest revision as of 05:58, 3 November 2025

Introduction

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

Yocto Version

Yocto 4.0.22

Kernel Version

Kernel 6.6.52

Meta Build ID

QCM6490.LE.1.0-00321-STD.PROD-1

 

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

You need to get the ADV_GIT_TOKEN by contacting the PM or AE of project.

$ cd /home/adv/BSP
$ git config --global credential.helper 'store --file ~/.my-credentials'
$ echo "https://AIM-Linux:${ADV_GIT_TOKEN}@dev.azure.com" > ~/.my-credentials

Refer to Release image URL: OS Support List(LE1.3 based on Yocto4.0.22) 

  • AOM-2721: A example of ${OFFICIAL_MANIFEST} is aom2721a1_yl01301_k0606052_q6490_08g.xml
$ repo init -u https://dev.azure.com/AIM-Linux/risc_qcs_linux_le_1.3/_git/manifest -b main -m ${OFFICIAL_MANIFEST}
$ repo sync -c -j${YOUR_CPU_CORE_NUM}
$ cp layers/meta-advantech/recipes-sdk/files/content_config.json layers/meta-qcom-robotics-sdk/recipes-sdk/files/content_config.json

If you want to get latest bsp

  • AOM-2721: ${LATEST_MANIFEST} is adv-6.6.52-QLI.1.3-Ver.1.1_robotics-product-sdk-1.1.xml
$ repo init -u https://dev.azure.com/AIM-Linux/risc_qcs_linux_le_1.3/_git/manifest -b main -m ${LATEST_MANIFEST}
$ repo sync -c -j${YOUR_CPU_CORE_NUM}
$ cp layers/meta-advantech/recipes-sdk/files/content_config.json layers/meta-qcom-robotics-sdk/recipes-sdk/files/content_config.json

You can check the download BSP as the following.

2025-04-02 112442.jpg

Get and Unzip the Downloads Files

1. Private Yocto downloads file (Must to do) : [ downloads_qcs6490_le1.3_private.tar.gz ]

The size of downloads_qcs6490_le1.3_private.tar.gz is 247132088 byte (241,340 KB)

The md5sum of downloads_qcs6490_le1.3_private.tar.gz is 33f2ddc9db5d65eb4951303209b787a7

You need to get the PASSWORD by contacting the PM or AE of project.

$ cd /home/adv/BSP
$ openssl des3 -d -k ${PASSWORD} -salt -pbkdf2 -in downloads_qcs6490_le1.3_private.tar.gz -out downloads_qcs6490_le1.3_private_decrypt.tar.gz
$ tar -zxvf downloads_qcs6490_le1.3_private_decrypt.tar.gz

2. Public 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

$ cd /home/adv/BSP
$ tar -zxvf downloads_qcs6490_le1.3_public.tar.gz

 

Build Instructions

Source env

For the "Build All images", "Build All Images individually" and "Build yocto images", you need to do the "Source env".

$ source scripts/env.sh

Build All Images

  • AOM-2721: ${MACHINE} is qcs6490aom2721a1
$ scripts/build_release.sh -all -${MACHINE} -user
  • 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

Build All Images individually

1. Build ADSP Image

After building the ADSP, you need to build the "6. Generate Firmware Prebuilds" to package new firmware prebuild files.

$ scripts/build_release.sh -adsp

2. Build AOP Image

After building the AOP, you need to build the "6. Generate Firmware Prebuilds" to package new firmware prebuild files.

$ scripts/build_release.sh -aop

3. Build CDSP Image

After building the CDSP, you need to build the "6. Generate Firmware Prebuilds" to package new firmware prebuild files.

$ scripts/build_release.sh -cdsp

4. Build BOOT(XBL) Image

After building the BOOT(XBL), you need to build the "6. Generate Firmware Prebuilds" to package new firmware prebuild files.

$ scripts/build_release.sh -boot

5. Build TZ Image

After building the TZ, you need to build the "6. Generate Firmware Prebuilds" to package new firmware prebuild files.

$ scripts/build_release.sh -tz

6. Generate Firmware Prebuilds

$ scripts/build_release.sh -common

Output firmware prebuild files:

amss/QCM6490.LE.1.0/common/build/ufs/bin/QCM6490_bootbinaries.zip

amss/QCM6490.LE.1.0/common/build/ufs/bin/QCM6490_dspso.zip

amss/QCM6490.LE.1.0/common/build/ufs/bin/QCM6490_fw.zip

7. Build YOCTO Image by build script

  • AOM-2721: ${MACHINE} is qcs6490aom2721a1
$ scripts/build_release.sh -yocto -${MACHINE} -user

Build yocto images

  • AOM-2721: ${MACHINE} is qcs6490aom2721a1
$ cd /home/adv/BSP
$ source scripts/env.sh
$ unset DEBUG_BUILD
$ MACHINE=${MACHINE} DISTRO=qcom-robotics-ros2-humble QCOM_SELECTED_BSP=custom source setup-robotics-environment
$ ../qirp-build qcom-robotics-full-image

Recovery & Rescue

Using windows PCAT or Qualcomm Download (QDL) tool to flash software images to the device.

Get the official images and unzip

Release image URL: OS Support List(LE1.3 based on Yocto4.0.22)

Unzip command example:

$ sudo tar -zxvf aom2721a1_yl01301_k0606052_q6490_08g_ufs4_2025-04-06.tgz

Enter EDL download mode

  • Connect the Micro USB (EDL) to your host computer.
  • Forced Recovery: The SW2 switch to 1-on.
  • Flash EMMC: the SW1 switch to 1-off, 2-on
  • Flash UFS: the SW1 switch to 1-on, 2-on
  • Connect the adapter and power on the device

Use the windows PCAT to flash images

Install

You can choose one of the following methods to install the flash tool.

Install via CLI

1. Download and install the Qualcomm Software Center 

      Qualcomm® Software Center 

2. Open CMD or PowerShell

3. Login your  Qualcomm ID 

qsc-cli login -u <USER> -p <PASSWORD>

4. Install

Use -rv to specify the version you want to install.
The tool has only been tested with the version mentioned below.
Using other versions may result in unexpected behavior or inconsistent outcomes.

qsc-cli tool install --name pcat --activate-default-license -rv 2.40.2.83
qsc-cli tool install --name quts --activate-default-license -rv 1.82.2.7
qsc-cli tool install --name qud --activate-default-license -rv 1.00.90.9

If you see the message "Accept and continue with installation [y/n] :", type y and press Enter to proceed.

Install via GUI

1. Download the Qualcomm Software Center 

      Qualcomm® Software Center 

2. Open the Qualcomm Software Center 

3. Search "PCAT" in the search bar 

RTENOTITLE

4. Click Qualcomm® Product Configuration Assistant Tool 

5. Select Qualcomm® Product Configuration Assistant Tool version 

    Version: 2.33.2.119

RTENOTITLE

6. Install Qualcomm® Product Configuration Assistant Tool 2.33.2.119 

7. Search "QUTS" in the search bar  

RTENOTITLE

8. Click the  Qualcomm® Unified Tools Services 

9. Select Qualcomm® Unified Tools Services version 

     Version : 1.75.2.9

10. Install Qualcomm® Unified Tools Services  1.75.2.9 

RTENOTITLE

11. You will find the new application after installing the PCAT and  QUTS in your Windows system . 

RTENOTITLE

12. Unzip the UFS File and eMMC File 

For example : 

         aom2721a1_yl01301_k0606052_q6490_08g_ufs4_2025-04-06.tgz

         aom2721a1_yl01301_k0606052_q6490_08g_emmc_2025-04-06.tgz 

13. Connect your device via Micro USB.

USF Provision  

1. Select  provision button   RTENOTITLE  

RTENOTITLE

2. Add the prog_firehose_ddr.elf and provision_ufs31.xml in UFS  folder. 

RTENOTITLE

3. Then press "OK" , it will start to do USF Provision. 

RTENOTITLE

4. When the Provision finished , you can see the result in message window. 

RTENOTITLE

Flash UFS

 1. Change the SW1 and SW2 

 Flash UFS:  the SW1 switch to 1-on, 2-on

Forced Recovery :  The SW2 switch to 1-on  ,2 - on . 

 2. Turn on the power 

 3. Open " PCATApp" Tool 

 4. Click " Connect A Device" 

RTENOTITLE

5. Select  "Qualcomm HS-USB QDLoader 9008 (COM6) 

RTENOTITLE

6. Click " Connect "  device 

RTENOTITLE

7. When you connected successfully , it will show  "green word" - Qualcomm HS-USB QDLoader 9008 (COM 6) 

RTENOTITLE

8. Select UFS Folder in PCAT Tool , the Tool will help load Files automatically and Select "MEMORY_TYPE_UFS" 

RTENOTITLE

9. Click " Download" 

RTENOTITLE

10. UFS Download Status 

RTENOTITLE

11. UFS Donwload compeleted 

RTENOTITLE

12. When the UFS installation finished . Close the PCAT tool ,

13. pleaes remove the mirco usb cable, turn off the power 

14. UFS boot up : 

The SW1 switch to 1-on, 2-on

The SW2 switch to 1-off, 2-on

15. Connect debug cable and open the terminal ,  turn on the power . 

16.  When the systme boot up , you need to type  " qcs6490aom2721a1 login: root "  , " Password: oelinux123"

17.  After type the long in and password , and you also can chek the image information about date , kernel version etc.. 

 

Flash eMMC

1.  Turn off the Power 

2. Change the SW1 and SW2 

 Flash eMMC:  The SW1 switch to 1-off, 2-on

Forced Recovery :  The SW2 switch to 1-on, 2-on

3. Turn on the power 

4. Make sure the device connection status. 

5. If the device disconnect with PCAT Tool , please connect it again. 

RTENOTITLE

6. Select eMMC Folder.

RTENOTITLE7. Make sure the setting ,then press " Download " button.

RTENOTITLE

 8. eMMC downlaoad status 

RTENOTITLE

9. eMMC Donwload compeleted 

RTENOTITLE

10. When the eMMC installation finished . Close the PCAT tool ,

11. pleaes remove the mirco usb cable, turn off the power 

12. eMMC boot up : 

The SW1 switch to 1-off, 2-on

The SW2 switch to 1-off, 2-on 

13. Connect debug cable and open the terminal ,  turn on the power . 

14.  When the systme boot up , you need to type  " qcs6490aom2721a1 login: root "  , " Password: oelinux123"

15.  After type the long in and password , and you also can chek the image information about date , kernel version etc.. 

 

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.

2025-04-07 112724.jpg

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

2025-02-18 124037.jpg

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