/**************************************************************************** ** ** Copyright (C) 2014 Digia Plc ** All rights reserved. ** For any questions to Digia, please use the contact form at ** http://www.qt.io ** ** This file is part of Qt Enterprise Embedded. ** ** Licensees holding valid Qt Enterprise licenses may use this file in ** accordance with the Qt Enterprise License Agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and Digia. ** ** If you have questions regarding the use of this file, please use ** the contact form at http://www.qt.io ** ****************************************************************************/ /*! \contentspage{index.html}{Qt for Device Creation} \page index.html \nextpage qtee-overview.html \title Qt for Device Creation With commercially licensed Qt for device creation, you get a fully-integrated solution to get you started immediately with software development on your embedded device with a tailored user experience for embedded Linux and embedded Android. Qt libraries can also be manually configured to other operating systems or custom software stacks. The Qt development environment for device creation consists of: \include common.qdocinc overview-list \e{\b{IMPORTANT:} Make sure to follow the \l{Installation Guide} closely!} \section1 Contents \list \li \l{Overview} \li \l{Installation Guide} \li \l{Supported Platforms} \li \l{Preparing Hardware} \list \li \l{Preparing Nexus 7 (2012/2013)}{Nexus 7 (2012/2013) (embedded Android)} \li \l{Boundary Devices i.MX6 Boards} \li \l{Preparing SABRE SD i.MX6Quad}{SABRE SD i.MX6Quad (embedded Linux)} \li \l{Preparing Toradex Apalis iMX6}{Toradex Apalis iMX6 (embedded Linux)} \li \l{Preparing BeagleBone Black}{BeagleBone Black (embedded Android and Linux)} \li \l{Preparing BeagleBoard-xM}{BeagleBoard-xM (embedded Linux)} \li \l{Preparing Raspberry Pi}{Raspberry Pi Model B (embedded Linux)} \endlist \li \l{Building and Running Embedded Applications} \list \li \l{Special Build & Run Options} \endlist \li \l{Customization} \li \l{Building Your Own Embedded Linux Image} \li \l{ChangeLog} \li \l{Troubleshooting} \li \l{Known Issues} \li \l{License Information} \endlist \section1 Reference Documentation \list \li \l{Add-On QML Types} \endlist */ /*! \contentspage{index.html}{Qt for Device Creation} \page qtee-overview.html \previouspage index.html \nextpage qtee-about-b2qt.html \title Overview The development package that you get with Qt for device creation consists of: \include common.qdocinc overview-list \section1 About Qt Development Libraries \l {http://www.qt.io/}{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 \l {Qt Quick} or HTML5/hybrid user interfaces with the \l {Qt WebEngine} module. For overview about Qt libraries see the \l {Qt reference documentation}. \section1 About the Development Environment 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. 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 \B2Q 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 mobile OS targets as well. */ /*! \contentspage{index.html}{Qt for Device Creation} \page qtee-about-b2qt.html \previouspage qtee-overview.html \nextpage qtee-installation-guide.html \title About Boot to Qt \e{\b{\B2Q}} is a light-weight, Qt-optimized, full software stack for embedded systems that is installed into the actual target device. This is done by flashing the device's memory card or internal memory directly with a pre-built image that comes with the online installer. See the \l{Installation Guide} for details. \B2Q is ideal for the following use cases: \list \li Evaluating Qt on real embedded environment using one of the provided reference images. \li Getting an immediately working embedded development environment up and running as a starting point to production development. Later, the stack can be customized to production with \e Build-Your-Own-Stack tooling, including proprietary Yocto Project recipes. \li Creating embedded devices from off-the-shelf programmable Android devices using \l {Android injection}. \endlist \image build-your-own-stack.png Boot to Qt supports two different operating systems: \b{\B2QL}\br \B2QL is using the traditional embedded Linux kernel built with the Yocto Poky reference system (Yocto 1.6 Daisy release). The embedded Linux variant 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. \b{\B2QA}\br The embedded Android stack provides an easy way to create a full embedded device using off-the-shelf programmable Android devices, making the device run stripped-down, Qt-optimized OS and middleware stack. The device will then become an embedded device running Qt applications, instead of running the Android OS with Android applications. For just creating applications using the Qt libraries that run on the native Android OS, see \l {Qt for Android} in Qt reference documentation. \B2QA tries to strip down the Android stack to the bare minimum, relying only on basic Linux features. The majority of the Android stack, such as Dalvik virtual machine is not running in Boot to Qt, resulting in faster startup times, lower memory consumption and overall better performance. The embedded Android stack can be installed into programmable Android devices that are based on Android version 4.2 or higher. Both versions of \B2Q have been tested and verified on a number of different hardware configurations. Usage of \B2Q is not limited to the devices used as \l {Supported Platforms}{reference platforms}, it can be made to run on a variety of hardware. \section1 Additional Embedded Libraries and Value-Add Components In addition to the Boot to Qt stack and a comprehensive development environment, \SDK comes with a set of components that bring new features and speed up the creation of high-performing, modern UI embedded applications: \list \li \l {Qt Virtual Keyboard} - complete virtual keyboard solution with word-prediction and multiple languages supported. \li \l {Qt Quick Enterprise Controls} - a set of advanced UI controls with an industry-specific look-and-feel. \li \l {Qt Quick Compiler} - enables compiling .qml source files into application binaries, improving load times and security for code assets. \li \l {Qt Charts} - UI Components for displaying visually pleasing charts, driven by static or dynamic data models. \li \l {Qt Data Visualization} - UI Components for creating stunning 3D data visualizations. \li \l {Qt Quick 2D Renderer} - enables Qt Quick UIs on GPU-less devices. \endlist \section1 Build-Your-Own-Stack Tooling \B2QL is built using the tools and resources from the \l {Yocto Project}, and is based on Yocto's reference distribution (\e Poky). You can use the same tools to build custom \B2Q images, and have control over which packages are included in the build and how the software stack is configured. The process consist of three parts: Building the \B2Q image and the external toolchain, building Qt libraries and add-ons, and configuring Qt Creator for the new toolchain and custom image: \list \li \l {Building Your Own Embedded Linux Image} \endlist \section1 Emulator The \l {Emulator Manual}{emulator} running a \B2Q image enables you to test and debug applications in an environment practically identical to that of the device, without having a real device connected to the development host. */