Qualcomm RB6 Platform Robotics SDK Manager User Guide
- June 15, 2024
- Qualcomm
Table of Contents
Robotics SDK Manager
User Guide
Rev. K
Aug 21, 2023
Revision History
Revision | Date | Description |
---|---|---|
A | Jul 30, 2020 | Initial release. |
B
| ****
Oct 27, 2020
| · Add information on Windows 10 Professional and Windows 10 En- terprise
operation.
· Update TROUBLESHOOTING.
C| Dec 14, 2020| Optimize file construction.
D| Jul 29, 2022| Add contents to make this user guide compatible with RB6.
E| Jan 12, 2023| · Add disk requirements in Chapter 2.
· Update Step 5 in Chapter 5.
· Update Step 4 in Chapter 6.
· Update Step 9 – 4) in Chapter 7.
**** F
| **** Mar 31, 2023| Add contents to make this document compatible with RB2 platform:
· Update Chapter 1. Overview.
· Update the download link of SDK manager in Chapter 4. SDK Man- ager
Download and Unzip.
· Update Chapter 5.
· Add Figure 5-3, Figure 5-4, Figure 7-3 and Figure 7-4.
· Fix command font problem.
G| Apr 10, 2023| · Restructure the document.
· Add RB5 LU2.0 relevant info. throughout this document:
Ÿ Chapter 1. Overview
ŸChapter 3. System and Disk Requirements
Ÿ Chapter 4. Download SDK Manager
Ÿ Chapter 5. On Ubuntu Host
ŸChapter 6. Generate Ubuntu Docker Image
Ÿ Step 4 and 5 in Chapter 7. On Windows 10 (64-bit) Host
H| Apr 19, 2023| Update the note at the beginning of Chapter 5. On Ubuntu
Host.
I| May 08, 2023| Update Chapter 7. On Windows 10 (64-bit) Host.
J
| ****
June 09, 2023
| · Restructure the document.
Ÿ Update 4.1.1. OS version is recommended version.
Ÿ Update 4.2. On Windows 10 (64-bit) Host.
Ÿ Update Table 5-1. Troubleshooting information.
Ÿ Update Table 6-1. For additional reference please refer to: .
K
| ****
Aug 21, 2023
| · Update Chapter 1. Overview.
· Update 3.1. OS requirements.
· Update Chapter 4. SDK Manager Operation Process .
Table List
Table 5-1. Troubleshooting information
Table 6-1. For additional reference please refer to:
About This Document
-
Illustrations in this documentation might look different from your product.
-
Depending on the model, some optional accessories, features, and software programs might not be available on your device.
-
Depending on the version of operating systems and programs, some user interface instructions might not be applicable to your device.
-
Documentation content is subject to change without notice. Thundercomm makes constant improvements on the documentation of the products, including this guidebook.
-
Function declarations, function names, type declarations, attributes, and code samples appear in a different format, for example, cp armcc armcpp.
-
Code variables appear in angle brackets, for example,
. -
Button, tool, and key names appear in bold font, for example, click Save or press Enter.
-
Commands to be entered appear in a different font; on the host computer use $ as shell prompt, while on the target device use # as shell prompt, for example,
$ adb devices
# logcat -
Part of the code that does not contain instructions appear in a different format, for example,
SUBSYSTEM==”usb”, ATTR{idVendor}==”18d1″, MODE=”0777″, GROUP=”adm” -
Folders, path and files are formatted in italic, for example, turbox_flash_flat.sh.
Overview
SDK Manager provides a complete set of tools for generating and flashing the
RBx firmware, supporting systems including Ubuntu 16.04, Ubuntu 18.04, Ubuntu
20.04, Windows 10 Professional (64-bit) and Windows 10 Enterprise (64-bit).
V4.0.0 supports the following products:
- Robotics RB1 Platform
- Robotics RB2 Platform
- Robotics RB5 Platform
- Robotics RB5N (Non-Pop) Platform
- Robotics RB6 Platform
Read This First
-
To register a Thundercomm Account, go to http://www.thundercomm.com.
-
Keep the internet connected during the image generation.
-
The full process lasts for at least 40 minutes, depending on Internet speed.
-
A working directory is needed to be built with the write and read permission in SDK Manager. For Docker container user, create your target directory under /home/hostPC/.
-
Docker Desktop is only supported on Windows 10 Professional (64-bit) and Windows 10 Enterprise (64-bit) system.
-
Before flashing full build, generate the image first.
-
USB 3.0 port and USB 3.0 cable are recommended for flashing images.
-
When flashing the device on a Linux host, run the command below before connecting the device to the host.
$ sudo systemctl stop ModemManager -
Plug in a USB device before starting Option 2 (EDL programming sequence), if an Ubuntu 18.04 host is running the SDK Manager by the Ubuntu 18.04 Docker.
System and Disk Requirements
3.1. OS requirements
-
For Robotics RB5 LU2.0 and RB5N LU2.0 platform
Recommended OS (Operating System): Ubuntu 20.04.
Alternatively, run an Ubuntu 20.04 Docker on a host of Ubuntu 16.04, Ubuntu 18.04, Ubuntu 20.04, Windows 10 Professional (64-bit), or Windows 10 Enterprise (64-bit) system. -
For RB5LU1.0, RB6, RB1 and RB2 platforms
Recommended OS: Ubuntu 18.04.
Alternatively, run an Ubuntu 18.04 Docker on a host of Ubuntu 16.04, Ubuntu 18.04, Ubuntu 20.04, Windows 10 Professional (64-bit), or Windows 10 Enterprise (64-bit) system.
3.2. Disk requirements
Make sure that the following minimum disk requirements are met.
- At least 1.5GB disk space to download a software version.
- It requires at least 50GB disk space to download LU resources and generate system.img with current release.
DK Manager Operation Process
Step 1. Download SDK manager via the following link:
https://thundercomm.s3.ap-northeast-1.amazonaws.com/uploads/web/common/TC-
sdkmanager4.0.0.zip
Step 2. Unzip the SDK manager file with the following command:
$ unzip TC-sdkmanager-x.x.x.zip
4.1. On Ubuntu Host
4.1.1. For recommended OS versions
NOTE : It is required to observe the following requirements on package
version.
-
For Robotics RB5 LU2.0 and RB5N LU2.0 Platform (recommended OS: Ubuntu 20.04)
-
Required minimum package version: coreutils 8.30, fakechroot 2.19, fakeroot 1.24, kmod 27-1ubuntu2.1, libc6-arm64-cross 2.31, python 2.7.18, qemu-user-static 1:7.2+dfsg-5ubuntu1, udev 245.44ubuntu3.20, unzip 6.0, wget 1.20.3.
-
un these commands to create soft links:
$ sudo rm -rf /lib/ld-linux-aarch64.so.1
$ sudo ln -sf /usr/aarch64-linux-gnu/lib/ld-2.31.so /lib/ld-linux- aarch64.so.1
$ sudo ln -sf /bin/bash /bin/sh
$ sudo dpkg -P qemu-user-static
$ wgethttp://archive.ubuntu.com/ubuntu/pool/universe/q/qemu/qemu- userstatic_6.2+dfsg-2ubuntu6_amd64.deb
$ sudo dpkg-i qemu-user-static_6.2+dfsg-2ubuntu6_amd64.deb -
For RB5LU1.0, RB6, RB1, RB2 Platforms (recommended OS: Ubuntu 18.04)
Required minimum package version: coreutils 8.28, fakechroot 2.19, fakeroot 1.22, kmod 24-1ubuntu3.2, libc6-arm64-cross 2.27, python 2.7.15, qemu-user- static 1:2.11+dfsg- 1ubuntu7.28, udev 237-3ubuntu10.42, unzip 6.0, wget 1.19.4.
Step 1. Install the dependency libraries to the host computer:
$ sudo apt-get install coreutils fakechroot fakeroot \ kmod
libc6-arm64-cross python2.7 qemu-user-static wget udev openssh-server
Step 2. Unzip TC-sdkmanager-x.x.x.zip and navigate to TC-sdkmanager-x.x.x
directory from a terminal window,
and install or re-install SDK Manager:
$ sudo dpkg -i tc-sdkmanager-vx.x.x_amd64.deb
Step 3. Launch SDK Manager.
$ sdkmanager
Step 4. Run SDK Manager.
-
Provide Thudercomm login credentials:
Credential Checking …
Enter your Thundercomm username:
Enter your Thundercomm password: -
If you need to change the path of installation, provide a working directory when a target directory is required (for example: /home/user). Then, enter the absolute target directory for SDK Manager to overwrite existing files (Default directory: /home/user).
Enter absolute target directory for Image resources (overwrites existing files, default: /home/user/):
NOTE : Docker users shall provide a working directory as /home/hostPC/[workingdirectory]. -
Enter the number selection product, for example, 1.
Select your product:
1: RB1
2: RB2
3: RB5
4: RB5N (Non-Pop)
5: RB6
Select one number of product ( 1 | 2 | 3 …) to continue with:
NOTE: If the product only supports single platform, the SDK Manager will automatically skip Step 4 – 4) and directly go to Step 4 – 5). -
Enter the number of the available platform for Robotics RBx device, for example, 1.
Choose a platform for Robotics RBx device
Enter 1 to use LU platform, 2 to use LE platform: -
Enter the number of the available version for image repack, for example, 1:
Checking current versions of release …
Available versions:
1: QRB5165.x.x.x-xxxxxx
… …
Select one number of available version ( 1 | 2 | 3 …) to continue with:
-
Enter 1 when the message below appears on your screen:
———————————————————————————-
SDK has been successfully set up and is ready to be used
Type ‘help’ for commands
———————————————————————————-
>
NOTES:
This step lasts for at least 40 minutes.
Enter help for more information: **help
commands:
help = Show usage help for LU platform
1 = Download LU resources and generate system.img with current release
2 = Flash full build (require system.img generation first)
q = exit sdk manager
** -
The system images are successfully generated in the working directory with the following messages displayed.
———————————————————————————-
Move sparse images to full_build …done
You may proceed to flash full_build to your device
———————————————————————————-
NOTE: For Docker users, the system image is generated in /home/hostPC/[workingdirectory].
Step 5. Disconnect the device from the computer, then follow the steps below to flash full build:
NOTE: When flashing the device on a Linux host, run the command below
before connecting the device to the host.
$ sudo systemctl stop ModemManager
- Power off the device (unplug power cable and USB cable).
- Press the F_DL Key.
- Power on the device (Required voltage: 12 V).
- Keep pressing F_DL Key while connecting the board to your computer with a Type-C USB (This step will switch the device to EDL mode).
- Release F_DL Key after connecting the board to your computer.
- Start flashing process from the SDK manager with “Flash full build”.
- SDK Manager shall detect the device and start the flashing process automatically.
- After the flashing process been finished, the board will reboot automatically (this step may take some time).
- When your device has successfully boot up, enter the command below in a new terminal window of the host computer:
$ adb wait-for-device shell
4.1.2. For other OS versions
NOTES : Different OS versions require different Docker images.
-
Robotics RB5 LU2.0 and RB5N LU2.0 Platform
For an Ubuntu 16.04 or 18.04 host, an Ubuntu 20.04 Docker image is required. -
RB5LU1.0, RB6, RB1, and RB2 Platforms
For an Ubuntu 16.04 or 20.04 host, an Ubuntu 18.04 Docker image is required.
Step 1. Install qemu-user-static, openssh-server and udev to the host PC.
$ sudo apt-get install qemu-user-static openssh-server udev -y
Step 2. To install Docker, refer to:
https://docs.docker.com/engine/install/ubuntu/.
Step 3. Generate Ubuntu 18.04/20.04 docker image:
Unzip TC-sdkmanager-x.x.x.zip and navigate to TC-sdkmanager-x.x.x directory
from a new terminal window, then execute the following commands:
# Ubuntu terminal #
# Generate Ubuntu 18.04 docker image #
$ ln -sf Dockerfile_18.04 Dockerfile
$ sudo docker build -t ubuntu:18.04-sdkmanager .
# Generate Ubuntu 20.04 docker image #
$ ln -sf Dockerfile_20.04 Dockerfile
$ sudo docker build -t ubuntu:20.04-sdkmanager .
——————————————————————————
NOTES:
- Make sure to include the space and full stop at the end of the command: ..
- Generated Docker image name: ubuntu:18.04-sdkmanager or ubuntu:20.04-sdkmanager.
Step 4. Create Docker container:
# Ubuntu 18.04 docker image #
$ sudo docker run -v /home/${USER}:/home/hostPC/ –privileged -v /dev/:/dev
-v
/run/udev:/run/udev -d –name sdkmanager_container -p 36000:22
ubuntu:18.04-sdkmanager
# Ubuntu 20.04 docker image #
$ sudo docker run -v /home/${USER}:/home/hostPC/ –privileged -v /dev/:/dev
-v
/run/udev:/run/udev -d –name sdkmanager_container -p 36000:22
ubuntu:20.04-sdkmanager
——————————————————————————
Host PC’s /home/${USER} is mounted on /home/hostPC in Docker container
sdkmanager_container: container name
NOTE : With the above commands, a Docker container name will be generated after sdkmanager_container:.
Step 5. Launch SDK Manager in Docker container.
$ sudo docker exec -it sdkmanager_container sdkmanager
Step 6. Run SDK Manager. Refer to Step 4 of 4.1.1. OS version is recommended
version.
Step 7. Disconnect the device from the computer, then follow the operation
steps below to flash full build:
Refer to Step 5 of 4.1.1. OS version is recommended version.
Step 8. When your device has successfully boot up, enter the command below
in a new terminal window of the host computer.
$ adb wait-for-device shell
4.2. On Windows 10 (64-bit) Host
Step 1. To download Docker Desktop, go to:
https://hub.docker.com/editions/community/docker-ce-desktop-windows/
Step 2. Open Dashboard from Docker notification menu to launch Docker Desktop.
Step 3. Open Windows PowerShell and enter docker images to verify docker
installation. If PowerShell console
instructs error, either the installation or Docker Desktop operation fails.
Step 4. Generate Ubuntu docker image.
- Unzip TC-sdkmanager-x.x.x.zip and navigate to TC/sdkmanager/x.x.x directory from a Windows PowerShell.
- Execute the following commands:
# Windows PowerShell #
**# For RB5LU1.0,RB6,RB1,RB2 Platforms :Generate Ubuntu 18.04 docker image**
$ rm .\Dockerfile
$ cmd /c mklink Dockerfile Dockerfile_18.04
$ docker build -t ubuntu:18.04-sdkmanager .
# For Robotics RB5 LU2.0 and RB5N LU2.0 Platform :Generate Ubuntu 20.04 docker image #
$ rm .\Dockerfile
$ cmd /c mklink Dockerfile Dockerfile_20.04
$ docker build -t ubuntu:20.04-sdkmanager .
——————————————————————————
NOTES:
- Make sure to include the ‘space’ and ‘period’ at the end of the command.
- Generated docker image name: ubuntu:18.04-sdkmanager or ubuntu:20.04-sdkmanager.
Step 5. Create docker container.
**# For RB5LU1.0,RB6,RB1,RB2 Platforms :Generate Ubuntu 18.04 docker image
**
$ docker run -it -d –name sdkmanager_container ubuntu:18.04-sdkmanager
# For Robotics RB5 LU2.0 and RB5N LU2.0 Platform :Generate Ubuntu 20.04
docker image#
$ docker run -it -d –name sdkmanager_container ubuntu:20.04-sdkmanager
NOTE: A docker container name can be generated after sdkmanager_container with the above command.
Step 9. Flash the device.
-
Download MULTIDL_TOOL_v1.0.14.zip file and install MULTIDL_TOOL, go to:
• RB5: https://docs.thundercomm.com/turbox_doc/products/qualcomm-robotics- developementkit/qualcomm-robotics-rb5-development-kit
• RB6: https://docs.thundercomm.com/turbox_doc/products/qualcomm-robotics- developementkit/qualcomm-robotics-rb6-development-kit
• RB1/RB2: https://docs.thundercomm.com/turbox_doc/products/qualcomm- robotics-developement-kit/qualcomm-robotics-rb1-rb2-platform
• Refer to MULTIDL_TOOL_USER_GUIDE.pdf. -
Follow the steps below to check if your device is in Emergency Download (EDL) mode:
Option 1: Enter adb reboot edl.
Option 2: Press F_DL Key to power on.
• NOTES:
• Check the Device Manager to ensure that the device has been detected as Qualcomm HS-USB QLoader 9008 (COMx), or you might need to download and install the correct USB drivers.
• To download and install the correct USB drivers, go to:
RB5: https://docs.thundercomm.com/turbox_doc/products/qualcomm-robotics- developement-kit/qualcomm-robotics-rb5-development- kit
RB6: https://docs.thundercomm.com/turbox_doc/products/qualcomm-robotics- developement-kit/qualcomm-robotics-rb6-development-kit
RB1/RB2: https://docs.thundercomm.com/turbox_doc/products/qualcomm- robotics-developement-kit/qualcomm-robotics-rb1-rb2-platform -
Flash the full build with MULTIDL_TOOL:
a) Launch MULTIDL_TOOL.
b) Click Options — > Configuration to set the full-build path.
c) Enter 123456 at the password prompt.
d) Choose Flat Build, set Flash Type as ufs.
e) Select your local full-build path and programmer file (prog_firehose_ddr.elf).
f) Click Load XML to load xml files. When xml files prompt, select all XML files and all Patch files in the full_build\ufs folder. Keep other settings as default; then click OK to return to the home page.
g) Disconnect the device from the computer and power it off.
h) Press the F_DL Key.
i) Power on the device (required voltage: 12 V).j) Keep pressing F_DL Key while connecting the board to your computer with a Type-C USB.
NOTE : This step will switch the device to EDL mode.
k) Release F_DL Key after the board has been connected to your computer.
l) Start the flashing process by clicking START button corresponding to your device port in MULTIDL_TOOL window.
m) After the flashing process is finished, the board will reboot automatically. This step may take some time.
Troubleshoot
Refer to Table 5-1 for the solutions to problems that have definite symptoms.
Table 5-1. Troubleshooting information
Problem | Solution |
---|
Internet Timeout Issue:
Internet timeout issue may happen during the image generation process, such as
Unable to fetch.| Try to run Command 1 again.
commands:
help = Show usage help for XX platform
1 = Download LU resources and generate system.img with current release
2 = xxxx >1
APT Source Issue| If the download fails, check the internet
connection and the source list.
Device Boot Up Issue:
SDK Manager cannot detect the device after reboot.| •If Ubuntu 18.04 is used
on Docker, check whether adb kill-server is entered on the host PC before
flashing image.
•Reboot your device manually, open a terminal, then enter adb shell.
•Check if any debian packages are modified.
Process Issue:
The flashing process of Ubuntu system does not function well.| Copy the full
folder to a computer with Windows system, then flash the image using
Thundercomm MULTIDL TOOL.
For further information, refer to: MULTIDL TOOL USER GUIDE v2.pdf.
SDK Manager Flash Issue| Enter the following command on host machine before
restarting the flash:
$ sudo systemctl stop ModemManager
Reference
Table 6-1. For additional reference please refer to:
Robotics RB5 Platform
Quick Start Guide| https://developer.qualcomm.com/qualcomm-robotics-rb5-kit
/quick-start- guide
Hardware Reference Guide| https://developer.qualcomm.com/qualcomm-robotics-
rb5-kit/hardware- reference-guide
Software Reference Manual| https://developer.qualcomm.com/qualcomm-robotics-
rb5-kit/software- reference-manual
Robotics RB1/RB2 Platform
Quick Start Guide| https://developer.qualcomm.com/hardware/qualcomm-robotics-
rb1-rb2- kits/quick-start-
guides
Hardware Reference Guide| https://developer.qualcomm.com/hardware/qualcomm-
robotics-rb1-rb2- kits/hardware-reference-
guide
Appendix 1. Notices
Thundercomm may have patents or pending patent programs covering subject
matter described in this document. The furnishing of this document does not
give you any license to these patents. You can send license inquiries to
service@thundercomm.com.
THUNDERCOMM PROVIDES THIS PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE. Some jurisdictions do not allow disclaimer of express or implied
warranties in certain transactions; therefore, this statement may not apply to
you.
Changes are made periodically to the information herein; these changes will be
incorporated in new editions of the publication. To provide better service,
Thundercomm reserves the right to improve and/or modify the products and
software programs described in the manuals, and the content of the manual, at
any time without additional notice.
The software interface and function and hardware configuration described in
the manuals included with your development board or system on module might not
match exactly the actual configuration of that you have purchased. For the
configuration of the product, refer to the related contract (if any) or
product packing list, or consult the distributor for the product sales.
Thundercomm may use or distribute any of the information you supply in any way
it believes appropriate without incurring any obligation to you.
The products described in this document are not intended for use in
implantation or other life support applications where malfunction may result
in injury or death to persons. The information contained in this document does
not affect or change Thundercomm product specifications or warranties. Nothing
in this document shall operate as an express or implied license or indemnity
under the intellectual property rights of Thundercomm or third parties. All
information contained in this document was obtained in specific environments
and is presented as an illustration. The result obtained in other operating
environments may vary.
The information of this document should not be as any invitation for offer or
any advice to the visitors. Please consult the professional comments from the
sales consultant prior to do any actions of investment or purchase.
Thundercomm may use or distribute any of the information you supply in any way
it believes appropriate without incurring any obligation to you.
Any references in this publication to non-Thundercomm Web sites are provided
for convenience only and do not in any manner serve as an endorsement of those
Web sites. The materials at those Web sites are not part of the materials for
this Thundercomm product, and use of those Web sites is at your own risk.
Thundercomm shall not be responsible for the content of the third party.
Any performance data contained herein was determined in a controlled
environment. Therefore, the result obtained in other operating environments
may vary significantly. Some measurements may have been made on development-
level systems and there is no guarantee that these measurements will be the
same on generally available systems. Furthermore, some measurements may have
been estimated through extrapolation. Actual results may vary. Users of this
document should verify the applicable data for their specific environment.
This document is copyrighted by Thundercomm and the property right of the date
mentioned in this document, including but not limited trademarks, patents,
copyrights, trade name etc. are not covered by any open-source license.
Thundercomm may update this document at any time without notice.
Anyone doesn’t have the right to amend, reprint, republication, reproduce,
transmit, distribute or any other way to use this document in business or
public purpose without the prior written consent by Thundercomm.
E-mail messages sent to Thundercomm via the Internet are not guaranteed to be
completely secure.Thundercomm shall not be liable for any loss incurred by the
surfer when transmitting any information over the Internet or for any loss
incurred by Thundercomm when sending any information over the Internet at your
request.
Thundercomm has all rights under other relevant exemptions provided by laws
and regulations, and Thundercomm’s failure to claim or delay in claiming such
rights shall not be deemed to be a waiver of such rights by Thundercomm.
Thundercomm reserves the right of final interpretation of this document.
Appendix 2. Trademarks
Thundercomm, Thundercomm TurboX, TURBOX, Thundersoft turbox are trademarks of Thundercomm Corporation or its associate companies in China and/or other countries. Intel, Intel SpeedStep, Optane, and Thunderbolt are trademarks of Intel Corporation or its subsidiaries in the U.S. and/or other countries. Microsoft, Windows, Direct3D, BitLocker, and Cortana are trademarks of the Microsoft group of companies. Mini DisplayPort (mDP), DisplayPort, and VESA are trademarks of the Video lectronics Standards Association. The terms HDMI and HDMI High-Definition Multimedia Interface are trademarks or registered trademarks of HDMI Licensing LLC in the United States and other countries. Wi- Fi, Wi-Fi Alliance, WiGig, and Miracast are registered trademarks of Wi-Fi Alliance. USB-C is a registered trademark of USB Implementers Forum. All other trademarks are the property of their respective owners.
References
- Thundercomm - World leading IoT product and solution provider
- Thundercomm - World leading IoT product and solution provider
- Hardware Reference Guide - Qualcomm Developer Network
- Quick Start Guide - Qualcomm Developer Network
- Qualcomm Documentation
- Qualcomm Documentation
- Qualcomm Documentation
- Welcome to TurboX Documentation System
- Welcome to TurboX Documentation System