About Boot to Qt Software Stack
The Boot to Qt software stack is a light-weight, Qt-optimized, full software stack for embedded Linux systems that is installed into the actual target device. The Boot to Qt software stack is using the traditional embedded Linux kernel built with Poky, the reference distribution of Yocto Project. The software stack is designed for great customization possibilities. It contains only components required in the embedded device, resulting in smaller image sizes while keeping valuable development tools available.
The Boot to Qt software stack installation contains a set of pre-built images for reference devices that are listed in Supported Target Devices and Development Hosts. Thus in order to utilize Qt's functionality in a reference device, you only need to install the Boot to Qt software stack to your host platform and flash the reference device's memory card or internal memory with the pre-built image.
You should note that the usage of the stack is not limited to the reference devices. You can use tools provided by Yocto Project to build a custom image with the Boot to Qt software stack for your target device.
See the target device specific Installation Guides for detailed information about how to install the Boot to Qt software stack and flash the device.
The Boot to Qt software stack is ideal for the following use cases:
- Evaluating Qt on real embedded environments using one of the pre-built reference images.
- Getting the embedded development environment up and running in no time. Later, the stack can be customized to production by building embedded Linux images including proprietary Yocto Project recipes.
The Boot to Qt software stack installation provides the following embedded specific features:
- Pre-built Boot to Qt software stack for immediate prototyping. See Supported Target Devices and Development Hosts for a list of reference devices.
- Qt Virtual Keyboard that is a complete virtual keyboard solution supporting word-prediction and multiple languages.
- Direct on-device debugging.
- One-click deployment to embedded targets.
- Yocto Project recipes for customizing the pre-built image. For more information, see Building Your Own Embedded Linux Image.
- The Emulator running a Boot to Qt image enables you to test and debug applications in an environment identical to that of the device, without having a real device connected to the development host.
- Over-the-Air updates. For more information, see Over-The-Air Update.
The development package that you get with the Boot to Qt software stack consists of:
- Qt development libraries and core tools.
- Embedded development environment around Qt Creator IDE.
- Additional embedded libraries and value-add components.
Qt is a full development framework designed to streamline the creation of applications and user interfaces for desktop, embedded, and mobile platforms. With Qt, you can reuse code efficiently to target multiple platforms with one code base. The modular C++ class library and development tools enable developers to create applications for one platform and easily build and deploy on other platforms as well.
The Qt libraries provide high-level APIs for a large variety of both non-GUI and GUI related functionality. For UI creation, Qt provides a number of approaches: traditional C++, declarative UI design with Qt Quick or HTML5/hybrid user interfaces with the Qt WebEngine module.
For overview about Qt libraries see the Qt reference documentation.
The development environment is built around the Qt Creator IDE. Qt Creator runs on all desktop platforms, but the embedded development environment is currently supported only on 64-bit Linux desktop and Windows.
Device deployment can be done directly from the Qt Creator IDE to a device connected via USB or local area network. The Qt Creator IDE is pre-configured for devices running Boot to Qt but can also be manually configured to build and deploy to custom embedded toolchains and devices.
Alternatively, you can deploy the application locally to the emulator that is running the same, full software stack as the devices. As with any Qt based application, the same application can be deployed to desktop and target devices as well.
Qt comes with a set of modules that bring new features and speed up the creation of high-performing, modern UI embedded applications:
- Qt Virtual Keyboard - complete virtual keyboard solution with word-prediction and multiple languages supported.
- Qt Quick Controls 2 - provides a set of controls for building complete user interfaces in Qt Quick.
- Qt Quick Compiler - enables compiling .qml source files into application binaries, improving load times and security for code assets.
- Qt Charts - UI Components for displaying visually pleasing charts, driven by static or dynamic data models.
- Qt Data Visualization - UI Components for creating stunning 3D data visualizations.
- Qt Quick 2D Renderer - enables Qt Quick UIs on GPU-less devices.
- Qt Device Utilities - allows easy access to various embedded device settings.
Available under certain Qt licenses.
Find out more.