C

NVIDIA Jetson Quick Start Guide

Qt offers all the necessary tools to design, develop, build, and deploy your application onto the target.

This guide describes how to use the GUIs of Qt tools to develop Linux applications on an NVIDIA Jetson device. It describes the overall process and provides step-by-step instructions for the following tasks:

  • Designing a simple UI using Qt Design Studio.
  • Creating a project in Qt Creator and utilizing the ready-made Boot to Qt image for the NVIDIA Jetson device.
  • Building and debugging the project on the target device.

Note: Qt for Device Creation requires a license. If you don't have one, you can request a free trial.

Overview

The following figure illustrates the basic concept of the software development process when you're using Qt tools and Boot to Qt Software Stack.

  • Development Host is a development computer running Qt tools on Windows, Linux, or macOS.
  • Qt tools includes development tools such as Qt Creator and Qt Design Studio, and quality assurance (QA) tools such as Squish.
  • QBSP SDK contains a cross-compilation toolchain that is integrated into Qt Creator, and a device image that can be used to boot your device using Boot to Qt Software Stack.
  • Target Device is your development target that runs your embedded Linux application.
  • Upload and debug an application (via Ethernet, Wi-Fi, or USB). Use Qt Creator to upload and debug your application on the target device.
  • Flash a QBSP image represents ways (such as SD card) to install Linux on the target device.

Applicable NVIDIA Jetson Target Devices

The instructions in this guide apply to the following NVIDIA Jetson target devices:

  • NVIDIA Jetson AGX Xavier Developer Kit
  • NVIDIA Jetson AGX Orin Developer Kit
  • NVIDIA Jetson Orin Nano Developer Kit

Note: For more details on the supported target devices and development hosts, see Supported Target Devices and Development Hosts.

Installing Qt

Follow the procedures in this guide to get all the required resources, including Qt Creator and Qt Design Studio.

  1. Sign in to Qt Customer Portal to download Qt Online Installer.
  2. The installer is available for the following hosts:
    • Linux on ARM
    • Linux x86
    • macOS
    • Windows

    Download the installer package that matches your host.

  3. Open the installer.
  4. Continue to Installation Folder and select Custom installation.
  5. Select Next.
  6. In Select Components, select Qt 6.8.0. The required developer and designer tools (such as Qt Creator and Qt Design Studio) are preselected in the installer.
  7. Select Next.
  8. Continue to Ready to Install and select Install.

Note: If you have Qt already installed, use Qt Maintenance Tool to install the missing tools.

Installing Boot to Qt Software Stack Using Qt Maintenance Tool

To install Boot to Qt Software Stack for NVIDIA Jetson AGX Xavier Developer Kit, do the following:

  1. Open Qt Maintenance Tool.
  2. Continue to Select Components and open the top-level Boot to Qt Software Stack dropdown menu.
  3. Open the correct Qt release -specific Boot to Qt Software Stack dropdown menu.
  4. Select NVIDIA Jetson AGX Xavier Developer Kit.
  5. Continue to Ready to Install and select Install.

Installing Boot to Qt on the Target Device

Before you can test your Qt applications on the target device, you must flash the target device with an image containing the Boot to Qt Software Stack. After you have successfully flashed your device, Boot to Qt Demo Launcher appears on the screen when you power on the device.

This device can be booted from an internal eMMC or from an SD card. However, the Boot to Qt image only supports an internal eMMC.

Note: Qt Flashing Wizard is not applicable to this device.

Flashing Boot to Qt Image onto the System's Internal eMMC

Note: Flashing is supported only on a Linux-compatible host.

  1. Connect the target device to the PC with a suitable USB-C cable.

    Note: Connecting the device via a USB hub will significantly decrease the transmission speed during flashing.

  2. Put the target device into the factory recovery mode.
    1. Press and hold the factory recovery button.
    2. If the device is not turned on, press and release the power button. If the device is already turned on, press and release the reset button.
    3. Release the factory recovery button.
  3. Run the following scripts to flash the image onto the system's internal eMMC:
    cd <INSTALL_DIR>/<Qt version>/Boot2Qt/jetson-agx-xavier-devkit/images
    mkdir tegraflash
    cd tegraflash
    tar xf ../b2qt-embedded-qt6-image-jetson-agx-xavier-devkit.tegraflash.tar.gz
    sudo ./doflash.sh

For more detailed information, see Flashing the Jetson Dev Kit.

Connecting the Target Device

Create a connection between the target device and Qt Creator to run, debug, and analyze applications on it. The sections below describe how to set up a device using either USB, Ethernet, or Wi-Fi connectivity.

Connecting the Target Device via USB

The target device can be connected to the host via USB On-the-Go (OTG). Once connected via a USB network, the device is automatically added to the Devices in Qt Creator.

The USB access to the target device supports two different USB protocols. The default RNDIS protocol can be used when connecting the target device to either a Linux or Windows host. When you want to connect the target device to a macOS host, you need to change to the CDC-ECM protocol.

Note: You can change the protocol from the Get Started with Boot to Qt.

For more information on connecting a device via USB, see Setting Up USB Ethernet on Target Device.

Connecting the Target Device via Ethernet or Wi-Fi

Connect your target device to network either via Ethernet or Wi-Fi connectivity. After the target device is connected and has an IP address, you can set it up to be used in Qt Creator with the following steps:

  1. Open Qt Creator.
  2. Select Edit > Preferences.
  3. In the Preferences window:
    1. Select Devices.
    2. Select Add > Boot2Qt Device > Start Wizard.
  4. In the Boot2Qt Network Device Setup window:
    1. Enter the Device name.
    2. Enter the Device address (IP address of the NVIDIA Jetson device).
    3. Select Finish.
  5. On the Devices tab:
    • Select OK.

Note: You can also set up a Wi-Fi connection from the Get Started with Boot to Qt

Note: When Qt Creator uploads the application over the IP network, the NVIDIA Jetson device has to be in the same network as your development host PC.

Creating an Application UI in Qt Design Studio

You can use Qt Design Studio to create a cross-platform UI, also for embedded Linux applications.

  1. Open Qt Design Studio.
  2. Select Create Project.
  3. In Presets, select General.
    • Name your project (also notice the project path to open it with Qt Creator).
    • Adjust display resolution and orientation to suit your display.
  4. Make sure your Target Qt Version matches the version of Qt installed on your machine.
  5. Select Create.
  6. Select File > Export Project > Enable CMake Generator. With the resulting CMakeLists.txt file, you can open your project via Qt Creator.

Now you can modify your UI as you wish. Once it's ready, select Save All to make sure that you can open your UI project in Qt Creator.

Configuring and Building an Application in Qt Creator

  1. Open Qt Creator.
  2. Navigate to the project you created with Qt Design Studio.
  3. Select CMakeLists.txt to open the project.
  4. In the Configure Project window:
    1. Select your NVIDIA Jetson kit.
    2. Select Configure Project.

Finally, select Build > Build Project to build the project you configured.

Running an Application on the Target Device

After setting up your device, you can upload and start your application on the NVIDIA Jetson device.

  1. Open Qt Creator.
  2. Select File > Open File or Project.
  3. Navigate to the project you configured earlier and select Open.
  4. In the Projects window:
    1. Edit the Run Settings if necessary.
    2. Select Run.

Note: To make changes to your application, you can update it on the device simply by running it again.

For detailed information about how to deploy Qt projects to the device, see Tutorial: Deploying Your First Project with Boot to Qt.

Debugging an Application

For more information on using Qt Creator to debug an application, see Debugging.

Customizing Boot to Qt for an NVIDIA device

Boot to Qt for embedded Linux is built using the tools and resources from the Yocto Project. For more information on how to set up a building environment for building Boot to Qt, see Setting Up Environment for Building Boot to Qt.

This section provides an example on how to build Boot to Qt for an NVIDIA device.

For more information on how to create a custom Boot to Qt image, see How to Create Boot to Qt Image.

  1. Initialize the build environment from the manifest repository.
    cd <BuildDir>
    repo init -u https://code.qt.io/yocto/boot2qt-manifest -m v6.8.0.xml
    repo sync

    Note: In the example above 6.8.0.xml refers to a specific Boot to Qt version, but you can use any version that is compatible with your target device.

  2. Configure the build environment for Linux.
    export MACHINE=jetson-agx-xavier-devkit && source ./setup-environment.sh
  3. Start building a QBSP for Boot to Qt.
    bitbake meta-b2qt-embedded-qbsp

    After the build has been completed, you can find the QBSP file at boot2qt/build-jetson-agx-xavier-devkit/tmp/deploy/qbsp/meta-b2qt-embedded-qbsp-x86_64-jetson-agx-xavier-devkit-6.8.0.qbsp.

Troubleshooting

If you have any issues with your NVIDIA Jetson device, such as how to setup boot switches or connect the debug terminal, turn to NVIDIA Jetson platform and NVIDIA developer forum for more information.

For more information on troubleshooting Boot to Qt, see Troubleshooting.

Available under certain Qt licenses.
Find out more.