diff options
22 files changed, 2370 insertions, 1832 deletions
diff --git a/src/doc/src/b2qt.qdoc b/src/doc/src/b2qt.qdoc deleted file mode 100644 index ebb8b11..0000000 --- a/src/doc/src/b2qt.qdoc +++ /dev/null @@ -1,1832 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2014 Digia Plc -** All rights reserved. -** For any questions to Digia, please use the contact form at -** http://qt.digia.com/ -** -** 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://qt.digia.com/ -** -****************************************************************************/ - -/*! - \contentspage{index.html}{Qt Enterprise Embedded} - \page index.html - \nextpage qtee-overview.html - \title Qt Enterprise Embedded - - \SDK provides 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. \SDK contains the tools - you need for fast, easy, and fully-integrated embedded device application - development. It comes with \B2Q, a light-weight UI stack for embedded - systems, and the Qt Creator integrated development environment (IDE) with - preconfigured build targets for hardware platforms, as well as an emulator - for testing the applications. - - \e{\b{IMPORTANT:} Make sure to follow the \l{Installation Guide} - closely!} - - \section1 Contents - - \list - \li \l{About Qt Enterprise Embedded} - \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{Preparing BD-SL-i.MX6}{BD-SL-i.MX6 (embedded Android and Linux)} - \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{License Information} - \endlist - - \section1 Reference Documentation - - \list - \li \l{Add-On QML Types} - \endlist -*/ - -/*! - \contentspage{index.html}{Qt Enterprise Embedded} - \page qtee-overview.html - \previouspage index.html - \nextpage qtee-installation-guide.html - - \title About Qt Enterprise Embedded - - \SDK has two main parts: - - \list - \li Development environment that is installed on a Linux development - desktop by using an online installer - \li \B2Q - \endlist - - \section1 About the Development Environment - - The development is done with the Qt Enterprise libraries and device - deployment can be done with one click directly from Qt Creator to a device - connected via USB. Alternatively, you can deploy the application locally - directly to the \B2Q Emulator that is running the full target software stack - as in the device. - - As with any Qt based application, the same application can be deployed to - desktop and mobile OS targets as well. - - \section1 About \B2Q - - \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 development environment. - - \B2Q supports two different operating systems: - - \list - \li \b{\B2QA} where the software stack is based on the Android Kernel - (version 4.1 or higher) and selected middleware. It includes a lean - software stack where Qt/QML replaces the top Java graphical layer - and removes the Zygote process layer as well the Android home screen - enabling better and faster development where modern UIs are at the - forefront. - - \li \b{\B2QL} where the software stack is using the traditional embedded - Linux kernel built with the Yocto Poky reference system (Yocto 1.6 - \e 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. - \endlist - - Both versions have been tested and verified on a number of different - hardware configurations. \B2Q support is not limited to the devices used - as reference platforms, it can be made to run on a variety of hardware. - - \section1 About Qt - - \l{http://qt.digia.com/}{Qt} is a full development framework with tools - designed to streamline the creation of applications and user interfaces - for desktop, embedded, and mobile platforms. - - \list - \li \b{Qt Framework} - intuitive APIs for C++ - and CSS/JavaScript-like programming with - \b{Qt Quick} for rapid UI - creation - \li \b{Qt Creator IDE} - powerful cross-platform integrated development - environment, including UI designer tools and on-device debugging - \li \b{Tools and toolchains} - internationalization support, embedded - toolchains and more. - \endlist - - 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 run to deploy also on other platforms. - - - \section1 \B2Q vs Qt for Android - - \image b2qt-vs-qt-for-android.png - - \e{\b{Qt for Android}} is a port of the Qt Framework to be used for application - development on the Android platform. Its purpose is to enable development - of applications that can run on Android devices. For developers writing - applications for the Android ecosystem, Qt for Android is the right choice. - - \b{\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 - \e{Dalvik virtual machine} is not running in \B2Q, - resulting in faster startup times, lower memory consumption and - overall better performance. -*/ - -/*! - \page qtee-installation-guide.html - \title Installation Guide - \previouspage qtee-overview.html - \nextpage qtee-supported-platforms.html - - To successfully set up \SDK, you must closely follow the instructions in - this section and perform all the described tasks. - - In case of problems, see the \l{Troubleshooting} information and the - \l {Known Issues} in \SDK \l {product page}. - - \target Requirements for Development Host - \section1 Requirements for Development Host - - A 64-bit Linux system is required to install and use \SDK. Instructions - in this documentation assume Ubuntu Linux 64-bit 12.04 LTS or later. - Other Linux distributions may work, but have not been tested. C/C++ build - essentials must be installed. - - \target Installing 32-bit Support Libraries - \section1 1. Installing 32-bit Support Libraries - - Some of the build tools in \SDK are 32-bit programs, and on 64-bit - systems they require support libraries for running 32-bit code. To - install the required packages in recent versions of Ubuntu, use - the following command in a terminal: - - \badcode - sudo apt-get install g++-multilib zlib1g:i386 - \endcode - - For older Ubuntu versions such as 12.04, instead do: - - \badcode - sudo apt-get install g++-multilib ia32-libs - \endcode - - \target Installing VirtualBox - \section1 2. Installing VirtualBox - - The \B2Q emulator in \SDK relies on VirtualBox virtualization software. You can - download it from \l{https://www.virtualbox.org/wiki/Linux_Downloads} or - install it via distribution tools. - - If you have older Ubuntu versions such as 12.04 you have to install a newer - version of VirtualBox than your distribution does provide. - You have to add a foreign package source: - - \badcode - wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add - - echo "deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list - sudo apt-get update - \endcode - - Now install VirtualBox on your computer - \badcode - sudo apt-get install virtualbox-4.3 - \endcode - - To configure VirtualBox: - - \list 1 - \li Start the VirtualBox user interface. - \li Select \b{File > Preferences} > \b{Network} to open VirtualBox - network settings. - \li Create a new network named \e{vboxnet0} and edit its properties: - - \list 1 - \li Change the IPv4 address to \c{192.168.56.1} and the IPv4 network - mask to \c{255.255.255.0}. - \li In the \b{DCHP Server} tab, select the \b{Enable Server} check - box. - \li Change the server address to \c{192.168.56.1}. - \li Change both the lower and upper address bounds to - \c{192.168.56.101}. - \endlist - \endlist - - If a firewall is enabled on the development host, it needs to - allow TCP and UDP packets between your host and the virtual - machine. - - \section1 3. Installing \SDK - - \list 1 - - \li Download the binary \SDK installer, and make sure it is executable - by using one of the following methods: - - \list - \li Enter the \c{chmod +x <filename>} command. - \li Right-click the file, and select \b{Properties} > - \b{Permissions} > \b{Allow executing file as program}. - \endlist - - \li Run the installer and follow its instructions. - - \endlist - - \note Do not execute the installer as root user or with sudo. - - The installer will let you select a directory where \SDK will be - installed. In this documentation, the installation directory is referred - to as \b{\c{<INSTALL_DIR>}}. The default installation directory is - \tt{~/Qt}. - - \target Installing Boot to Qt on Target Devices - \section1 4. Install \B2Q on Target Devices - - \e{If you target only the emulator, you can skip this step.} - - Before you can deploy and test your Qt application on hardware, you must - flash the target device with an image that contains the - \B2Q stack. The steps vary from device to device. Follow the instructions - specific to your device in \l {Preparing Hardware}. - - \section1 5. Setting up USB Access to Embedded Devices - - \e{If you target only the emulator, you can skip this step.} - - \include b2qt-post-install-setup.qdocinc setting up usb access - - \section1 6. Configuring a Device Kit in Qt Creator - - \include b2qt-post-install-setup.qdocinc configuring device kit android linux - - You are now ready to start developing for your device. - For more information, see \l{Building and Running an Example}. -*/ - -/*! - \page qtee-preparing-hardware.html - \title Preparing Hardware - \previouspage qtee-supported-platforms.html - \nextpage qtee-building-and-running.html - - Before you can deploy and test your Qt application on hardware, you must - flash the target device with an image that contains the - \B2Q stack. These steps vary from device to device: - - \list - \li \l{Nexus 7 (2012/2013) (embedded Android)} - \li \l{BD-SL-i.MX6 (embedded Android and Linux)} - \li \l{SABRE SD i.MX6Quad (embedded Linux)} - \li \l{Toradex Apalis iMX6 (embedded Linux)} - \li \l{BeagleBone Black (embedded Android and Linux)} - \li \l{BeagleBoard-xM (embedded Linux)} - \li \l{Raspberry Pi Model B (embedded Linux)} - \endlist - - If you use only the emulator, you can skip this step - and continue straight to \l {Building and Running an Example}. -*/ - -/*! - \target Nexus 7 (2012/2013) (embedded Android) - \page qtee-preparing-hardware-nexus-7.html - \title Preparing Nexus 7 (2012/2013) - \previouspage qtee-installation-guide.html - \nextpage qtee-building-and-running.html - - Take the following steps to prepare a - \l{http://www.google.com/nexus/7/specs/}{Nexus 7 (2012/2013)} for - \B2Q. - - \note The installation process will wipe the device. Make sure to - backup any personal data. The device can later be restored to - factory state, see \l{nexus-factory-reset}{Troubleshooting}. - - The Nexus 7 must have the same Android main version (e.g. \c{4.2} - or \c{4.4}) as the generic \B2Q eAndroid stack that is to be - installed. If needed, you can update the Android version either by - using Android's upgrading tool, or by flashing a factory image of - the right version. See \l{nexus-factory-reset}{Troubleshooting}. - - \section1 Enabling Developer Mode - - In order to install the \B2Q stack into the Nexus 7, you need to - enable developer mode and USB debugging. This is only needed for - the first time install. - - \note If for some reason the device does not boot up normally, it - is also possible to install to a Nexus 7 started up in - \c{fastboot} (bootloader) mode (see - \l{nexus-factory-reset}{Troubleshooting}). Just skip this section - and add the \c{-fastboot} argument to the \c{deploy.sh} command - below. - - \list 1 - \li Power up the device. - \li Open the \b{Settings} app and select the \b{About tablet} item. - \li Press the \b{Build number} item seven times, until the message "You are now a developer!" appears. - - \li Back in the \b{Settings} menu, select \b{Developer options}. - \li Press the \b{USB debugging} item and confirm that you allow USB debugging. - \endlist - - You should now be able to establish USB connection to the device as follows. - - \section1 Setting up USB Access - - \include b2qt-post-install-setup.qdocinc setting up usb access - - \section1 Deploying the \B2Q Stack - - Depending on the edition of your Nexus 7 device, use one of the - commands below to install the \B2Q stack. Replace \c{X.Y} with the - device's Android version number, for example \c{4.2} or \c{4.4}. - - \note The deploy script will check that the connected Nexus device - is of the expected type and Android version, and abort the - installation if it is not. - - \list - \li \b{Nexus 7 (2013):} - \badcode - cd <INSTALL_DIR> - ./Boot2Qt-3.x/generic-X.Y-eAndroid/images/nexus7v2/deploy.sh - \endcode - \li \b{Nexus 7 (2012):} - \badcode - cd <INSTALL_DIR> - ./Boot2Qt-3.x/generic-X.Y-eAndroid/images/nexus7/deploy.sh - \endcode - \endlist - - During the installation, the device may ask for confirmation to be - unlocked. Press the power button once to confirm. - - The device will reboot during the process. Do not interact with it - or unplug it until the process is fully completed. - - \section1 Configuring a Device Kit in Qt Creator - - \include b2qt-post-install-setup.qdocinc configuring device kit android - - You are now ready to start developing for your device. For more information, - see \l{Building and Running an Example}. -*/ - -/*! - \target BeagleBoard-xM (embedded Linux) - \page qtee-preparing-hardware-beagleboard.html - \title Preparing BeagleBoard-xM - \previouspage qtee-installation-guide.html - \nextpage qtee-building-and-running.html - - Take the following steps to prepare a \l{http://beagleboard.org/hardware-xM} - {BeagleBoard-xM} for - \B2Q. - - \note BeagleBoard-xM is no longer supported in \SDK 3.0. It is still, - however, supported and tested under the previous 2.x versions. - - The image containing \B2Q stack for BeagleBoard-xM are included in \SDK, - ready to be copied to an SD card. - - \section1 Preparing an SD Card - - An SD card of at least 512 MB capacity is needed. - - \include detect-sd-card-device-name.qdocinc instructions - - \section1 Installing the \B2Q Image - - To write the image to the SD card, ensure that no partitions on the - SD card are mounted: - - \include detect-sd-card-device-name.qdocinc unmount - - Then, - - \badcode - cd <INSTALL_DIR> - sudo Boot2Qt-3.x/beagleboard-eLinux/images/deploy.sh /dev/<device_name> - \endcode - - After the image has been deployed, power on the device and check that - the \B2Q welcome screen and/or demo appear. - - \section1 Setting up USB Access - - \include b2qt-post-install-setup.qdocinc setting up usb access - - \section1 Configuring a Device Kit in Qt Creator - - \include b2qt-post-install-setup.qdocinc configuring device kit - - You are now ready to start developing for your device. For more information, - see \l{Building and Running an Example}. -*/ - -/*! - \target BD-SL-i.MX6 (embedded Android and Linux) - \page qtee-preparing-hardware-imx6.html - \title Preparing BD-SL-i.MX6 - \previouspage qtee-installation-guide.html - - Take the following steps to prepare a - \l{http://boundarydevices.com/products/sabre-lite-imx6-sbc/} - {Boundary Devices BD-SL-i.MX6} (SABRE Lite) for \B2Q. - - \note It is important that you repeat the steps in this section after you - update \SDK. - - The images containing the \B2Q stack for BD-SL-i.MX6 are included - in \SDK, ready to be copied to an SD card. - - \section1 Preparing an SD Card - - For \B2QA, an SD card of at least 4 GB capacity is needed. For \B2QL, - a card of at least 512 MB capacity is sufficient. - - \include detect-sd-card-device-name.qdocinc instructions - - \section1 Installing the Android image - - \e{If installing} \B2QL, \e{you can skip this step and proceed to} - \l{Installing the Boot to Qt Image}. - - Download the package \e{imx6-jb-20130628.tar.gz} from - \l{http://boundarydevices.com/android-jellybean-on-i-mx6-with-no-disclaimers/}{Boundary - Devices Android Jellybean i.MX6 images} (registration required). - - Use the following commands to create an SD card containing the - downloaded image: - - \list 1 - \li Extract the downloaded package: - \badcode - ~/$ mkdir bd-android - ~/$ cd bd-android - ~/bd-android$ tar zxvf ~/Downloads/imx6-jb-20130628.tar.gz - \endcode - \li Run device/boundary/mksdcard.sh: - \badcode - ~/bd-android$ sudo device/boundary/mksdcard.sh /dev/<device_name> - ~/bd-android$ sync - \endcode - \endlist - - \section1 Installing the \B2Q Image - - Make sure you have the required tools installed in your development machine: - - \badcode - sudo apt-get install u-boot-tools - \endcode - - Then, upgrade the SD card with \B2Q. First, ensure that no partitions on the - SD card are mounted: - - \include detect-sd-card-device-name.qdocinc unmount - - Then, use one of the commands below, depending on whether you are developing - for embedded Android or Linux: - - \list - \li \b{\B2QA} - \badcode - cd <INSTALL_DIR> - ./Boot2Qt-3.x/generic-4.2-eAndroid/images/iMX6/deploy.sh /dev/<device_name> - \endcode - \li \b{\B2QL} - \badcode - cd <INSTALL_DIR> - sudo ./Boot2Qt-3.x/iMX6-eLinux/images/deploy.sh /dev/<device_name> - \endcode - \endlist - - After the installation is complete, insert the SD card, power on the device and check that - the \B2Q welcome screen and/or demo appear. - - \section1 Setting up USB Access - - \include b2qt-post-install-setup.qdocinc setting up usb access - - \section1 Configuring a Device Kit in Qt Creator - - \include b2qt-post-install-setup.qdocinc configuring device kit android linux - - You are now ready to start developing for your device. For more information, - see \l{Building and Running an Example}. -*/ - -/*! - \target SABRE SD i.MX6Quad (embedded Linux) - \page qtee-preparing-hardware-imx6sabresd.html - \title Preparing SABRE SD i.MX6Quad - \previouspage qtee-installation-guide.html - - Take the following steps to prepare a - \l{http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=RDIMX6SABREBRD} - {Freescale SABRE SD i.MX6Quad} for \B2Q. - - \note It is important that you repeat the steps in this section after you - update \SDK. - - The images containing the \B2Q stack for SABRE SD i.MX6Quad are included - in \SDK, ready to be copied to an SD card. - - \section1 Preparing an SD Card - - An SD card of at least 512 MB capacity is sufficient. - - \include detect-sd-card-device-name.qdocinc instructions - - \section1 Installing the \B2Q Image - - To write the image to the SD card, ensure that no partitions on the - SD card are mounted: - - \include detect-sd-card-device-name.qdocinc unmount - - Then, - - \badcode - cd <INSTALL_DIR> - sudo Boot2Qt-3.x/imx6qsabresd-eLinux/images/deploy.sh /dev/<device_name> - \endcode - - After the image has been deployed, insert the SD card, power on the device and check that - the \B2Q welcome screen and/or demo appear. - - \section1 Setting up USB Access - - \include b2qt-post-install-setup.qdocinc setting up usb access - - \section1 Configuring a Device Kit in Qt Creator - - \include b2qt-post-install-setup.qdocinc configuring device kit - - You are now ready to start developing for your device. For more information, - see \l{Building and Running an Example}. -*/ - -/*! - \target Toradex Apalis iMX6 (embedded Linux) - \page qtee-preparing-hardware-apalis-imx6.html - \title Preparing Toradex Apalis iMX6 - \previouspage qtee-installation-guide.html - - Take the following steps to prepare a - \l{http://www.toradex.com/products/apalis-arm-computer-modules/freescale-imx-6-computer-module} - {Toradex Apalis iMX6} for \B2Q. - - \note It is important that you repeat the steps in this section after you - update \SDK. - - The images containing the \B2Q stack for Toradex Apalis iMX6 are included - in \SDK, ready to be copied to an SD card. - - \section1 Preparing an SD Card - - An SD card of at least 512 MB capacity is sufficient. - - \include detect-sd-card-device-name.qdocinc instructions - - \section1 Installing the \B2Q Image - - To write the image to the SD card, ensure that no partitions on the - SD card are mounted: - - \include detect-sd-card-device-name.qdocinc unmount - - Then, - - \badcode - cd <INSTALL_DIR> - sudo Boot2Qt-3.x/apalis-imx6-eLinux/images/deploy.sh /dev/<device_name> - \endcode - - By default, the Toradex Apalis iMX6 boots from its internal eMMC. In order to boot from - the external SD card, the U-Boot environment needs to be updated. Connect a serial cable - to the device and enter into the U-Boot environment by pressing any key before the autoboot. - Enter following lines into U-Boot: - - \badcode - setenv bootcmd 'run sdboot ; echo sdboot failed ; run emmcboot ; echo ; echo emmcboot failed ; run nfsboot ; echo ; echo nfsboot failed ; usb start ;setenv stdout serial,vga ; setenv stdin serial,usbkbd' - setenv sdboot 'run setup; setenv bootargs ${defargs} ${sdargs} ${setupargs} ${vidargs};echo Booting from SD card in 4bit slot...; fatload mmc 2:1 10800000 uImage && bootm 10800000' - setenv sdargs 'ip=off root=/dev/mmcblk1p2 rw,noatime rootfstype=ext3 rootwait' - saveenv - \endcode - - New U-Boot command are now stored into the device, and you can start \B2Q. For more information - about the boot process on Toredex Apalis iMX6, see - \l{http://developer.toradex.com/software-resources/arm-family/linux/linux-booting}{Toradex Linux Booting} - - After the image has been deployed, insert the SD card, power on the device and check that - the \B2Q welcome screen and/or demo appear. - - \section1 Configuring a Device Kit in Qt Creator - - \include b2qt-post-install-setup.qdocinc configuring network device - - You are now ready to start developing for your device. For more information, - see \l{Building and Running an Example}. -*/ - -/*! - \target Raspberry Pi Model B (embedded Linux) - \page qtee-preparing-hardware-rasberrypi.html - \title Preparing Raspberry Pi - \previouspage qtee-installation-guide.html - \nextpage qtee-building-and-running.html - - Take the following steps to prepare a \l{http://www.raspberrypi.org/} - {Raspberry Pi} for - \B2Q. - - \note Ethernet networking is required to connect the device to Qt Creator. - This means that the support is currently limited to Raspberry Pi Model B, which - includes an Ethernet port. - - \note It is important that you repeat the steps in this section after you - update \SDK. - - The image containing \B2Q stack for Raspberry Pi is included in the SDK, - ready to be copied to an SD card. - - \section1 Preparing an SD Card - - An SD card of at least 512 MB capacity is sufficient. - - \include detect-sd-card-device-name.qdocinc instructions - - \section1 Installing the \B2Q Image - - To write the image to the SD card, ensure that no partitions on the - SD card are mounted: - - \include detect-sd-card-device-name.qdocinc unmount - - Then, - - \badcode - cd <INSTALL_DIR> - sudo Boot2Qt-3.x/raspberrypi-eLinux/images/deploy.sh /dev/<device_name> - \endcode - - After the image has been deployed, insert the SD card, power on the device and check that - the \B2Q welcome screen and/or demo appear. - - \section1 Configuring a Device Kit in Qt Creator - - \include b2qt-post-install-setup.qdocinc configuring network device - - You are now ready to start developing for your device. For more information, - see \l{Building and Running an Example}. -*/ - -/*! - \target BeagleBone Black (embedded Android and Linux) - \page qtee-preparing-hardware-beaglebone.html - \title Preparing BeagleBone Black - \previouspage qtee-installation-guide.html - - Take the following steps to prepare a - \l{http://beagleboard.org/products/beaglebone%20black}{BeagleBone Black} for \B2Q. - - \note It is important that you repeat the steps in this section after you - update \SDK. - - The images containing the \B2Q stack for BeagleBone Black are included - in \SDK, ready to be copied to an SD card. - - \section1 Preparing an SD Card - - For \B2QA, an SD card of at least 2 GB capacity is needed. For \B2QL, - a card of at least 512 MB capacity is sufficient. - - \include detect-sd-card-device-name.qdocinc instructions - - \section1 Installing the Android image - - \e{If installing} \B2QL, \e{you can skip this step and proceed to} - \l{Installing the Boot to Qt Image}. - - Download the package \e{TI_Android_JB_4.2.2_DevKit_4.1.1_beagleboneblack.tar.gz} from - \l{http://downloads.ti.com/sitara_android/esd/TI_Android_DevKit/TI_Android_JB_4_2_2_DevKit_4_1_1/index_FDS.html} - {Texas Instruments} (search for \e {BeagleBone Black} in the list of download packages). - - Use the following commands to create an SD card containing the - downloaded image: - - \list 1 - \li Extract the downloaded package: - \badcode - ~$ tar zxvf ~/Downloads/TI_Android_JB_4.2.2_DevKit_4.1.1_beagleboneblack.tar.gz - \endcode - \li Run beagleboneblack/mkmmc-android.sh: - \badcode - ~$ cd beagleboneblack - ~/beagleboneblack$ sudo ./mkmmc-android.sh /dev/<device_name> - \endcode - \endlist - - \section1 Installing the \B2Q Image - - Then, upgrade the SD card with \B2Q. First, ensure that no partitions on the - SD card are mounted: - - \include detect-sd-card-device-name.qdocinc unmount - - Then, use one of the commands below, depending on whether you are developing - for embedded Android or Linux: - - \list - \li \b{\B2QA} - \badcode - cd <INSTALL_DIR> - ./Boot2Qt-3.x/generic-4.2-eAndroid/images/beaglebone/deploy.sh - \endcode - \li \b{\B2QL} - \badcode - cd <INSTALL_DIR> - sudo ./Boot2Qt-3.x/beaglebone-eLinux/images/deploy.sh /dev/<device_name> - \endcode - \endlist - - After the installation is complete, insert the SD card, power on the device and check that - the \B2Q welcome screen and/or demo appear. - - \section1 Setting up USB Access - - \include b2qt-post-install-setup.qdocinc setting up usb access - - \section1 Configuring a Device Kit in Qt Creator - - \include b2qt-post-install-setup.qdocinc configuring device kit android linux - - You are now ready to start developing for your device. For more information, - see \l{Building and Running an Example}. -*/ - -/*! - \target i.MX53 Quick Start Board (embedded Linux) - \page qtee-preparing-hardware-imx53qsb.html - \title Preparing i.MX53 Quick Start Board - \previouspage qtee-installation-guide.html - \nextpage qtee-building-and-running.html - - Take the following steps to prepare a - \l{http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX53QSB} {i.MX53 Quick Start Board} - for \B2Q. - - \note Ethernet networking is required to connect the device to Qt Creator. - - \note It is important that you repeat the steps in this section after you - update \SDK. - - As i.MX53 Quick Start Board is not a \SDK reference board, there is no ready-made - image containing a \B2Q stack available. Instead, you must build it yourself using - the Yocto recipes and build scripts from the \B2Q source packages. - For more information, see \l{Building Your Own Embedded Linux Image}. - - \section1 Preparing an SD Card - - An SD card of at least 512 MB capacity is sufficient. - - \include detect-sd-card-device-name.qdocinc instructions - - \section1 Installing the \B2Q Image - - To write the image to the SD card, ensure that no partitions on the - SD card are mounted: - - \include detect-sd-card-device-name.qdocinc unmount - - Then, - - \badcode - cd <QtBuildDir> - sudo deploy.sh /dev/<device_name> - \endcode - - After the image has been deployed, insert the SD card, power on the device and check that - the \B2Q welcome screen and/or demo appear. - - \section1 Configuring a Device Kit in Qt Creator - - \include b2qt-post-install-setup.qdocinc configuring network device - - You are now ready to start developing for your device. For more information, - see \l{Building and Running an Example}. -*/ - -/*! - \page qtee-building-and-running.html - \title Building and Running Embedded Applications - \previouspage qtee-preparing-hardware.html - \nextpage qtee-custom-build-steps.html - - \section1 Building and Running an Example - - After you complete the installation and configuration steps for \SDK and the - target devices, you can test the setup by creating a simple \l{Qt Quick} - application and running it on the device: - - \list 1 - \li Make sure that your device is powered on and connected to the - development host. - \li In Qt Creator, select \b File > \b {New File or Project} > - \b Applications > \b{Qt Quick Application} > \b{Choose}. - \li Choose a location for your new project. - \li In the \b{Qt Quick Component Set} dialog, select \b{Qt Quick 2.2} - or \b{Qt Quick 2.2 Boot2Qt}. - \li In the \b{Kit Selection} dialog, select the kits for your - devices. You can also select the emulator kit to test running the - project in the emulator. - \li Click \b{Next} and finish the wizard. - \li In \b Projects > \b {Build & Run}, select the correct kit for your - connected device. - \li To build and run the project, click \inlineimage qtcreator-run.png - \endlist - - \section1 Building and Running \B2Q Demos - - You can find the \B2Q demo applications in Qt Creator. - - \list 1 - \li Go to \b Welcome > \b Examples. - \li Select a \e Boot2Qt Qt version from the drop-down list. - \li Select a demo you want to build. - \li In \b Projects > \b {Build & Run}, select the correct kit for your - connected device or emulator. - \li To build and run the project, click \inlineimage qtcreator-run.png - \endlist - - \section1 Setting Up an Already Existing Project for Deployment - - New Qt Quick application projects generated by Qt Creator always have the correct - settings for deployment on the device or emulator. However, other projects need - some changes. This includes projects created using the - \b File > \b {New File or Project} > \b Applications > \b{Qt Widget Application} - template. - - As a general rule, application binaries and resources are deployed to the - \c {/data/user/qt/<APPLICATION_NAME>} directory. Therefore, the \c path variable for - the \c INSTALLS targets needs to be adjusted accordingly in .pro files. - - Open the .pro file and define the \c target.path and \c INSTALLS variables as follows: - - \badcode - target.path = /data/user/qt/$$TARGET - INSTALLS += target - \endcode - - Above, \c {$$TARGET} expands to the application target (executable) name. - - \section2 Deploying Application Resources - - If the application depends on additional resources (such as QML files and - images), you need to deploy them as well. For example: - - \badcode - appFiles.files = *.png qml - appFiles.path = /data/user/qt/$$TARGET - INSTALLS += appFiles - \endcode - - Above, all PNG images from the application source directory, and the entire - \e qml subdirectory are included in the deployment. - - Alternatively, the files used by the application can be stored into the application - executable using the \l{The Qt Resource System}{Qt resource system}. This way, simply - deploying the application binary is all that's required. -*/ - -/*! - \page qtee-custom-build-steps.html - \title Special Build & Run Options - \previouspage qtee-building-and-running.html - \nextpage qtee-customization.html - - Qt Creator allows you to execute custom commands on the embedded device connected - to the development host, both during the build process and during deployment of your - application. - - \section1 Custom Build Steps - - To add a custom step to be executed during the build: - - \list 1 - \li In Qt Creator, go to \b Projects > \b {Build Settings} - \li Select \b Build configuration for the \e {\B2Q} version you want to customize. - \li Click \b {Add Build Step} and select \b {Custom Remote Command (via adb shell)}. - \li Enter the command to be executed. - \endlist - - \section1 Custom Deployment Steps - - To add a custom step to be executed during deployment: - - \list 1 - \li In Qt Creator, go to \b Projects > \b {Run Settings} - \li Select \b Run configuration for the \e {\B2Q} version you want to customize. - \li Click \b {Add Deploy Step} and select \b {Custom Remote Command (via adb shell)}. - \li Enter the command to be executed. - \endlist - - \sa {Booting to a Custom Application} -*/ - -/*! - \page qtee-customization.html - \title Customization - \previouspage qtee-building-and-running.html - \nextpage qtee-custom-embedded-linux-image.html - - \section1 Environment and Input - - By default, the basic environment variables and startup options of - \B2Q applications are set in the file \c - {/system/bin/appcontroller.conf} in embedded Android devices and - in \c{/etc/appcontroller.conf} in embedded Linux devices. - - You can customize this file if you target a hardware device that - has other input devices than the ones that the \B2Q stack is configured - for by default. - - On some devices, the root file system (where this file - resides) is mounted read-only at boot time. To allow modification, - remount it read-write by entering the following command: - \badcode - <INSTALL_DIR>/Tools/b2qt/adb remount - \endcode - - In the \c{appcontroller.conf} file, the input devices are - specified by the lines similar to these: - \badcode - env=QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event0 - \endcode - - Usually, you do not need to change this setting. USB input devices, such as - keyboards and mice, are automatically recognized. The mouse pointer is shown - automatically if a mouse is connected. - - However, hotplugging may not work, which means that the input - devices, such as a keyboard and mouse, have to be connected at boot - time. - - On some devices, for example the BD-SL-i.MX6, the touchscreen device is - specified explicitly with \c QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS. This is - necessary because the automatic device discovery would fail to find the - touchscreen. - - \section1 Booting to a Custom Application - - After you have deployed your own application to the device, it will be - launched on boot, instead of the \B2Q demo launcher. To prevent this - behavior, remove or disable the \b {Make this application the default one} - step from the \b{Run Settings} for your project in the Qt Creator \b Projects - mode. - - To remove your application from the default startup, use the following - command: - \badcode - <INSTALL_DIR>/Tools/b2qt/adb shell appcontroller --remove-default - \endcode - - \section1 Switching Between Portrait and Landscape Views - - Depending on device screen dimensions and application requirements, it might - be desirable - to change the default view orientation. The following example shows how to rotate your - application in QML. - - \qml - import QtQuick 2.2 - - Item { - id: root - width: 800 - height: 1280 - // Container element for rotating - Rectangle { - id: main - // Swap the width and height of the root item - width: root.height - height: root.width - anchors.centerIn: parent - // Rotate 90 degrees clockwise around transformOrigin - rotation: 90 - // The rotated content - Text { - text: qsTr("Hello World") - anchors.centerIn: parent - } - MouseArea { - anchors.fill: parent - onClicked: { - Qt.quit(); - } - } - } - } - \endqml - - \section1 Disabling Screen Composer on Embedded Android - - By default, the \B2Q stack uses Android's screen composer, \e - Surfaceflinger. It is required for Qt Multimedia functionality, - i.e. video playback and camera. If that functionality is not - required, Surfaceflinger may be disabled. This can in some - situations improve performance. - - \list 1 - \li Edit \c {/system/bin/appcontroller.conf} to set the value of - the environment variable \c QT_QPA_EGLFS_NO_SURFACEFLINGER to \c - 1 instead of \c 0. - \li Disable the startup of \c surfaceflinger at boot-up. Either - change \c /init.rc, or simply rename the \c - {/system/bin/surfaceflinger} executable. - \endlist - - \section1 Using Network Connection for ADB - - By default, \B2Q uses USB cable for communication between device and Qt Creator. - On \B2QL, you can change the device to use ethernet network connection for the - communication. To enable network connection, you need to modify file - \c /etc/default/adbd located on the devices, and change value of \c USE_ETHERNET - to \c 'yes'. This can also be done with \c adb, while the device is still - connected via USB. - - \badcode - <INSTALL_DIR>/Tools/b2qt/adb shell sed -i -e 's/USE_ETHERNET=no/USE_ETHERNET=yes/' /etc/default/adbd - \endcode - - \note You need to restart the device for this change to take effect. - - \include b2qt-post-install-setup.qdocinc configuring network device -*/ - -/*! - \page qtee-custom-embedded-linux-image.html - \title Building Your Own Embedded Linux Image - \previouspage qtee-customization.html - \nextpage qtee-changelog.html - - \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. - - \section2 Note About Support Services for Yocto Tools - - By default, Digia will only provide customer support for the Yocto - recipes on the reference platforms, as delivered with \SDK, and - setting up the development environment for them. Receiving support - for any other configuration requires a separate service agreement - between a customer and Digia. - - \section1 Requirements - - You should be familiar with the Yocto tools and the concept of - \e {recipes}. For more information, see Yocto Project - \l{https://www.yoctoproject.org/documentation/current}{documentation}. - - To get started, you need the following: - - \list - \li Install the \B2Q \e source packages. You can - find these by running the \e MaintenanceTool application - located in the \SDK installation directory and selecting - \e {Package Manager}. The \e {Yocto meta layer} package - contains the additional recipes required to make the image - compatible with \B2Q. - \li Install the dependencies for the Yocto tools. In Ubuntu, - the following packages are required: - \badcode - sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath libsdl1.2-dev xterm - \endcode - \endlist - - \section1 Setting Up Yocto Build Environment - - Run the setup script that initializes the Yocto environment: - - \badcode - cd <BuildDir> - <INSTALL_DIR>/Boot2Qt-3.x/sources/b2qt-yocto-meta/b2qt-init-build-env . - \endcode - - \section1 Building the Image and Toolchain - - After the Yocto environment is set up, you need to configure the - build environment for your target device. Using Raspberry Pi as - an example: - - \badcode - export TEMPLATECONF=meta-b2qt/conf - export MACHINE=raspberrypi - source poky/oe-init-build-env build-raspberrypi - \endcode - - The following table lists the \c MACHINE values for our reference platforms: - - \table - \header - \li Board - \li MACHINE value - \row - \li Raspberry Pi - \li raspberrypi - \row - \li BeagleBone Black - \li beaglebone - \row - \li Boundary Devices BD-SL-i.MX6 - \li nitrogen6x - \row - \li Freescale SABRE SD i.MX6Quad - \li imx6qsabresd - \row - \li Toradex Apalis iMX6 - \li apalis-imx6 - \row - \li Emulator - \li emulator - \endtable - - Yocto recipes for \B2QL have two main targets to build: The target image, - and the external toolchain that is used for building the Qt framework and - applications. - - \badcode - bitbake b2qt-embedded-image - bitbake meta-toolchain-b2qt-embedded-sdk - \endcode - - The target rootfs image is located in the \c <YoctoBuildDir>/tmp/deploy/images/<target>/b2qt-embedded-image-<target>.tar.gz, - and the new toolchain is in \c <YoctoBuildDir>/tmp/deploy/sdk/b2qt-eglibc-x86_64-meta-toolchain-b2qt-embedded-sdk-<target-architecture>-toolchain-1.6.sh - - \note The generated target image does not yet include Qt libraries, - you need to build Qt and add it into the image yourself. - - \section1 Building Qt and Addons - - \e {Build scripts} source package contains scripts that can be used to - build Qt and all additional Qt addons that are part of \B2QL image. - To setup build environment for your target hardware, run the initialization - script. Using Raspberry Pi as an example: - - \badcode - <INSTALL_DIR>/Boot2Qt-3.x/sources/b2qt-build-scripts/embedded-common/init_build_env.sh <INSTALL_DIR>/Boot2Qt-3.x/sources/b2qt-build-scripts/embedded-linux/config.raspberrypi - \endcode - - \note You can use the same build directory for Qt and the Yocto image. - The toolchain and the target image are then used from the Yocto build directory. - - You can use following scripts to build different parts of the \B2Q stack. - - \badcode - <INSTALL_DIR>/Boot2Qt-3.x/sources/b2qt-build-scripts/embedded-linux/build_qt.sh - <INSTALL_DIR>/Boot2Qt-3.x/sources/b2qt-build-scripts/embedded-linux/build_extras.sh - <INSTALL_DIR>/Boot2Qt-3.x/sources/b2qt-build-scripts/embedded-linux/build_image.sh - \endcode - - After \e {embedded-linux/build_image.sh} has finished, you can flash the device with - the updated image located in the build folder. - - \section1 Configuring Qt Creator - - After you have built the \B2Q stack, you must also set up Qt Creator in order to start - developing for your device. The following script does this for you. - - \badcode - <INSTALL_DIR>/Boot2Qt-3.x/sources/b2qt-build-scripts/embedded-common/setup_qtcreator.sh - \endcode - - This will set up a new kit in Qt Creator, using the toolchain and Qt from - your build directory. The new kit is visible under \b Tools > \b Options - > \b {Build & Run} > \b Kits. -*/ - -/*! - \page qtee-supported-platforms.html - \title Supported Platforms - \previouspage qtee-installation-guide.html - \nextpage qtee-preparing-hardware.html - - \section1 Supported Reference Devices - - The \B2Q stack can be made to run on a variety of hardware. For \SDK license - holders, tooling is provided to customize the contents of the stack as well - as to take it into desired production hardware. For more information on how - to customize the stack for embedded Linux, see - \l {Building Your Own Embedded Linux Image}. - - Approximate minimal hardware requirements for running \B2Q are: - \list - \li 256 MB of RAM - \li 500 MHz CPU, 1 GHz preferred for 60-FPS velvet-smooth UI - \li OpenGL ES 2.0 support - \endlist - - \B2QA requires hardware that has support for the Android operating - system, version 4.2 or later. - - \B2Q software stack is provided pre-built, tested and supported for the - following hardware: - \list - \li \l{http://www.google.com/nexus/7/specs/} - {Google/Asus Nexus 7 (2012 and 2013 models)} - \li \l{http://beagleboard.org/products/beaglebone%20black} - {BeagleBone Black} - \li \l{http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=RDIMX6SABREBRD} - {Freescale SABRE SD i.MX6Quad} - \li \l{http://boundarydevices.com/products/sabre-lite-imx6-sbc/} - {BD-SL-i.MX6} - \li \l{http://www.toradex.com/products/apalis-arm-computer-modules/freescale-imx-6-computer-module} - {Toradex Apalis iMX6} - \li \l{http://www.raspberrypi.org/faqs} - {Raspberry Pi Model B} - \endlist - - \section2 Legacy Reference Devices - - The following devices are no longer tested or supported by the latest - release of \SDK. - - \list - \li \l{http://beagleboard.org/hardware-xM} - {BeagleBoard-xM} - \list - \li Starting from \SDK 3.0 release, BeagleBoard-xM is no longer - tested and supported. It is, however, still tested and supported - in the earlier 2.x releases. - \endlist - \endlist - - \section1 Supported Development Environment - - The development environment supported by \SDK is Ubuntu Linux 64-bit (12.04 LTS or later). - - \sa {Requirements for Development Host} - -*/ - -/*! - \page qtee-licenses.html - \title License Information - \previouspage qtee-troubleshooting.html - \nextpage qtee-qml-reference.html - - \section1 Licensing - - \SDK is licensed under the Qt Enterprise commercial license. For more information, - see \l {http://qt.digia.com/licensing}. Evaluation licenses are also available, - see \l {product page}{\SDK} on qt.digia.com. - - \section1 3rd Party Software Licenses - - The third-party licenses used in \SDK are listed in the file - \c {<INSTALL_DIR>/Licenses/ThirdPartySoftware_Listing.txt}. - - \section1 Embedded Android Images - - The embedded Android platform is built from the \e {Android Open Source Project}, - source code available at \l {http://android.googlesource.com/}. The open - source licenses and notices are collected into the file - \c {/etc/NOTICE.html.gz} in the target images. - - \section1 Embedded Linux Images - - The embedded Linux platform is built using tools from the \l {Yocto Project}. - The open source licenses and notices are located in - \list - \li \c /usr/share/common-licenses/license.manifest - \li \c /usr/share/licenses/* - \endlist - - \section1 Android GNU C++ Run-time Licensing - - The Android platform does not provide a full implementation of the C++ run-time. Instead, - apps that depend on features such as STL, exceptions, or RTTI, must include an additional - native run-time library that provides the features they need. - - \B2QA uses the GNU libstdc++ library distributed as part of the \e {Android Open Source Project}. - This library is included in the images for \B2QA, and will be loaded by the application - on start-up to meet the run-time requirements of Qt. - - The GNU C++ run-time is licensed under the - \l{http://gcc.gnu.org/onlinedocs/libstdc++/manual/appendix_gpl.html}{GNU General Public License version 3} with - an exception which grants permission for run-time linking and usage of the library by an application which - would otherwise violate the terms of the main license. For more information about this exception, see - \l{http://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html}{the official license page}. -*/ - -/*! - \page qtee-changelog.html - \title ChangeLog - \previouspage qtee-customization.html - \nextpage qtee-troubleshooting.html - - \section1 \B2Q 3.1.1 - - \list - \li Release date: Aug 20, 2014 - \endlist - - \section2 Changes - \b {Fixed Bugs}: - \list - \li \l {Building Your Own Embedded Linux Image}: - fixed issues that caused the Yocto build process to fail. - \endlist - - \section1 \B2Q 3.1.0 - - \list - \li Release date: July 3, 2014 - \endlist - - \section2 Changes - \b {New Features}: - \list - \li Boot to Qt stack was updated to use Qt 5.3.1 on embedded Android - and Linux. - \li Added a generic solution for injecting \B2QA stack into devices - running Android version 4.2.2 or later. - \li \l {Preparing Toradex Apalis iMX6}{Toradex Apalis iMX6} was added - as a reference device. - \li \l {Qt Data Visualization} was updated to version 1.1. - \li \l {Qt Charts} was updated to version 1.4. - \li \l {Qt Virtual Keyboard} was update to version 1.1. - \endlist - - \b {Improvements}: - \list - \li Added translucent widget windows support to eglfs. - \li Changed \e appcontroller to print status messages to stdout. - \li Switched to use symbolic links for GL-streaming library, instead - of having multiple copies. - \li Fixed C++ debugging issues and improved performance on embedded - Android. - \li Updated the content of \e About \e {\SDK} demo. - \li Improved Sensors and Media Player examples. - \endlist - - \b {Fixed Bugs}: - \list - \li Fixed WiFi not working on Nexus 7 (2013). - \li BeagleBone Black: Fixed C++ debugging failing on embedded Android. - \li BeagleBone Black: embedded Linux did not include USB serial drivers. - \li Fixed JavaScript crash on ARM (QTBUG-39289). - \li Removed useless warnings about setMask when using Qt Widgets. - \endlist - - \section1 \B2Q 3.0.0 - - \list - \li Release date: May 22, 2014 - \endlist - - \section2 Changes - \b {New Features}: - \list - \li \B2Q stack was updated to use Qt 5.3 on embedded Android and Linux - \li \l {Qt Virtual Keyboard} was updated to version 1.0 - \li \l {Qt Data Visualization} demo was added - \li Qt WebEngine 0.9 support (including WebEngine demo) was added for - embedded Android and Linux. However, the Emulator target is - currently not supported - \li \l {Qt Quick Compiler} (Technology Preview) was added to the \B2Q stack - \li \l{Preparing Nexus 7 (2012/2013)}{Nexus 7 (2013)} was added as a - reference device for embedded Android - \li \l{Preparing SABRE SD i.MX6Quad}{Freescale SABRE SD i.MX6Quad} was - added as a reference device for embedded Linux - \li WiFi networking support and configuration were implemented on - embedded Linux - \endlist - - \b {Improvements}: - \list - \li Emulator warnings were improved - \li Embedded Linux: Moved to use Yocto 1.6 (Daisy) - \li Debug symbols were moved to a separately installable package - \li Presentation of \B2Q demos in Qt Creator was improved - \endlist - - \b {Fixed Bugs}: - \list - \li Build scripts: Incorrect path was fixed - \endlist - -\section1 \B2Q 2.1.0 - - \list - \li Release date: Apr. 15, 2014 - \endlist - - \section2 Changes - \b {New Features}: - \list - \li \l {Qt Data Visualization} version 1.0 was added to the \B2Q stack - \li \l {Enginio Data Storage} version 1.0 was added to the \B2Q stack - \li \l {Qt Quick Enterprise Controls} was updated to version 1.1 - \li \l {Qt Serial Port} support was added to the \B2Q stack - \li Bluetooth on \B2QL: Support for bluez was added - \li Added support for building \B2QL for i.MX53 from sources - \endlist - - \b {Improvements}: - \list - \li Qt Creator plugin for \B2Q now supports incremental deployment, custom adb commands - \li Adb now easily usable over IP on all devices on \B2QL - \li Update new content to device without erasing it first on \B2QL - \li All images now contain generally used CA certificates - \li Toolchains updated to support Qt WebEngine - \li Documentation was added for QML types provided by the \l {WiFi Module} - \li Emulator: Debug logging functionality was added - \li Various documentation improvements - \li \SDK installer error handling was improved - \li 3rd party license information was updated - \li Launcher Settings application UI was improved - \endlist - - \b {Fixed Bugs}: - \list - \li \B2QL: OpenSSL Heartbleed bug was fixed - \li \B2QA: Qt debug symbols were missing - \li QEglFSCompositor::render() using incorrect vertices for full-screen quad, resulting in bad texture sampling - \li Use damaged rect instead of full texture upload for raster windows - \li Emulator: Crash when launching multiple instances - \li Emulator: State transitions were not working properly - \li \B2QA emulator: C++ debugging was fixed - \li Emulators: Qt Quick applications don't exit on Qt.quit() - \li Banding was visible on Raspberry Pi - \li Qt Creator: adb failed to connect - \li QtCreator: Different Virtual Machiness with the same OS were not handled properly - \li Qt Creator: Tabstop order in device wizard was incorrect - \li Qt 5 Everywhere demo: not all internet radio station were working - \endlist - - \b {Fixed Known Issues}: - \list - \li Embedded Android: Arabic Numbers Not Always Rendered Correctly - \endlist - - \section1 \B2Q 2.0.0 - - \list - \li Release date: Feb. 25, 2014 - \endlist - - \section2 Changes - \b {New Features}: - \list - \li \B2Q stack was updated to use Qt 5.2.1 on embedded Android and Linux - \li Building your own \B2Q embedded Linux stack was enabled - \li Emulator graphics performance and quality was improved (GL-streaming) - \li BeagleBone Black was added as a reference device - \li \l {Qt Virtual Keyboard} was integrated into \B2Q - \li \l {Qt Quick Enterprise Controls} was added to the \B2Q stack - \li \l {Qt Charts} was added to the \B2Q stack - \li \B2Q source code was made available via online installer - \li WiFi networking support/configuration were implemented on embedded Android - \li Ethernet connectivity was enabled on embedded Android - \endlist - - \b {Improvements}: - \list - \li Updated GDB for embedded Android toolchain - \li Enterprise demos (Charts, Enterprise Controls) were added - \li Embedded Linux: Moved to use Yocto 1.5 (Dora) - \li Demos available as examples in Qt Creator - \li Embedded Android emulator updated to Android 4.2.2 - \endlist - - \b {Fixed Bugs}: - \list - \li Embedded Android emulator: Missing Mesa headers - \li Embedded Linux emulator: Black screen in camera demo - \li Emulator tries to load host plugins - \li Sensors not working in emulators - \li Empty \c HOME environment variable in processes launched by appcontroller - \li Embedded Android emulator: C++ debugging fails - \li Qt add-ons not installed to host - \endlist - - \b {Fixed Known Issues}: - \list - \li Qt SQL: QML LocalStorage Fails to Connect to Database on Embedded Android - \li Qt XML Patterns: Module not Available on embedded Android - \li Qt Multimedia: Audio is Muted on Nexus 7 - \li Unnecessary Warnings Displayed by the Installer - \li Virtual Keyboard: Backspace Removes Two Characters - \endlist - - \section1 \B2Q 1.0.1 - - \list - \li Release date: Dec. 5, 2013 - \endlist - - \section2 Changes - \list - \li Emulator: Remote control widget version shown together with emulator version - \li Emulator: Mouse events are sent instead of touch events - \li Emulator: Raster window support added - \li Emulator: emulatorproxyd shows its version on startup - \li Emulator: Detect some network problems - \li Emulator: Fixed issues related to startup - \li Emulator: Updated source code license headers - \li Emulator: Show all VirtualBox errors - \li Emulator: Video playback support on embedded Linux - \endlist -*/ - -/*! - \page qtee-troubleshooting.html - \title Troubleshooting - \previouspage qtee-changelog.html - \nextpage qtee-licenses.html - - \note An updated version of this information may be available in Digia customer portal, - see \l {Known Issues} in \SDK \l {product page}. - - \section1 General Issues - - \section2 I have problems deploying/launching the application in Qt Creator - - Check that the device is properly connected to the development host via USB - or Ethernet (depending on the device). - See \l{Connectivity Issues}. - - If using the emulator, see \l{Installing VirtualBox}. - - \section2 I have problems deploying/launching a Qt or Qt Quick example application - - Because of a technical peculiarity in \c{qmake}, it is not - possible to get correct deployment setup for any application that - is placed inside a Qt source code tree. - - The workaround is to copy the example sources to a location - outside the Qt source tree, and open this copy of the example - application instead. - - \section2 I have problems launching or running applications on hardware after updating the SDK - - Remember to repeat the process of updating also your device with the latest - version of \B2Q. See \l{Installing Boot to Qt on Target Devices}. - - \section2 Booting BD-SL-i.MX6 stops with \e {6x_bootscript not found} error - - Check the U-Boot version number. It should start with either \c{2012} or \c{2013}. - If it is \c{2009.xx}, an upgrade of the bootloader is required. For more - information, see: - - \list - \li \l http://boundarydevices.com/6q_bootscript/ - \li \l http://boundarydevices.com/switching-u-boot-versions-on-i-mx6/ - \endlist - - \target nexus-factory-reset - \section2 How do I restore my Nexus 7 to factory settings? - - Go to \l{https://developers.google.com/android/nexus/images} and - download the correct file for your device. Unpack it, and then enter the - following commands: - - \badcode - <INSTALL_DIR>/Tools/b2qt/adb reboot bootloader - <INSTALL_DIR>/Tools/b2qt/fastboot -w update <image-file>.zip - \endcode - - \section2 How do I shut down the Nexus 7? - - If the \B2Q demo launcher is running, start the \b {Launcher - Settings} app, and select \b {Shut Down} to power off the device. - - Otherwise, make sure the Nexus 7 is connected to the development host, and run - the following command in a terminal: - \badcode - <INSTALL_DIR>/Tools/b2qt/adb shell reboot -p - \endcode - - If the device is in the fastboot mode, use the volume button to display the - \b {Power off} option and press the power button to power off the device. - - Alternatively, press and hold the power button for 10 - seconds. This will force a reboot. - - \section2 How do I get HDMI output working properly on BeagleBone Black? - - Depending on the HDMI monitor, the cable, and the build variant of - the BeagleBone Black device, it may not be able to drive an HDMI display in a - stable way; the image may disappear or stutter. These issues are not caused by - the \B2Q stack. - - More details and possible solutions can be found - \l {http://www.elinux.org/Beagleboard:BeagleBoneBlack_HDMI}{here}. - - \section2 Trying to build for the emulator target fails with error message \e{make: i686-android-linux-g++: Command not found} - - You need to install support libraries in order to run 32-bit programs in a - 64-bit Linux operating system. - - See \l{Installing 32-bit Support Libraries}. - - \section2 Something crashed! - - The following command shows the system log: - \badcode - <INSTALL_DIR>/Tools/b2qt/adb logcat - \endcode - - \note When terminating an application from Qt Creator, you may see the - message \e {Terminating application. Error running process: Process crashed}. - This is normal and does not indicate a problem in your code; a SIGTERM - signal is sent to the application, and Qt interprets it as a crash. - - \section2 Mouse or touch input does not work - - See \l{Customization}. - - \note Hotplugging does not currently work, and therefore, any input device - must be present at boot time to be recognized. - - \section2 Application stops with \e{EGLFS: OpenGL windows cannot be mixed with others.} - - OpenGL and Qt Quick 2 applications can only have one - fullscreen window existing at a time. Trying to create another - OpenGL window, or trying to mix an OpenGL window with a raster one - will display the above message and abort the application. - - \note For raster windows (software rendered content based on QWidget or - QPainter), there is no such limitation. - - \section2 I cannot edit the contents of appcontroller.conf on the device - - The file system where this file is located may be mounted as read-only. - - See \l{Customization}. - - \section2 C++11 features do not work on Android - - To enable C++11 features in the compiler, add \e{CONFIG += c++11} to the .pro file. - On Embedded Linux this will be enough because there the toolchain contains a more - recent version of gcc (4.8.x). On Embedded Android however the toolchain is based on - gcc 4.6. This offers limited support for C++11 and Qt's own C++11 support is disabled, - meaning that adding \e{c++11} to \e{CONFIG} will have no effect. There is still a - possibility however to manually enable some level of C++11 support just for the - application, by adding \e{QMAKE_CXXFLAGS += -std=c++11} to the .pro file. - - \section1 Connectivity Issues - \section2 I cannot connect to my hardware device via USB - - See \l{5. Setting up USB Access to Embedded Devices}. - - \section2 adb fails with "error: more than one device and emulator" - - You have to specify which Android device you want \c{adb} to talk - to, using adb's \c{-s <serial-number>} option. Use the following - command to find to see the serial number of the connected - devices: - - \badcode - <INSTALL_DIR>/Tools/b2qt/adb devices - \endcode - - \section2 The emulator cannot connect to the Internet - - By default, the VirtualBox is configured to use a host-only network, so external - connections do not work in the emulator. - - You may be able to enable Internet connectivity with another - virtual network adapter in NAT mode by adapting - \l{http://askubuntu.com/questions/293816/in-virtualbox-how-do-i-set-up-host-only-virtual-machines-that-can-access-the-in}{these} - instructions. - - \section2 The emulator is stuck in \e{Waiting for display data} or fails to start properly - - Check the output of the following command: - - \badcode - <INSTALL_DIR>/Tools/b2qt/adb devices - \endcode - - If the emulator (192.168.56.101) is not listed there, try connecting to it: - - \badcode - <INSTALL_DIR>/Tools/b2qt/adb connect 192.168.56.101 - \endcode - - If the emulator is already listed, try disconnecting it: - \badcode - <INSTALL_DIR>/Tools/b2qt/adb disconnect 192.168.56.101 - \endcode - - And then close the emulator and retry. - - \section2 What are the user and password to access my embedded Linux device? - - Embedded Linux devices can be accessed using user \c{root} and an empty password. - - \section2 No sound on Embedded Android devices - - When connecting a headphone or speakers while the device is running, the - audio may not be properly routed to the correct output. As a workaround, - connect the headphone or speakers before turning on the device. - - \section2 Qt WebEngine libraries cannot be found when targeting the emulator - - Qt WebEngine is not currently available for the emulators, neither eLinux - nor eAndroid. This is planned to be addressed in a later release. - - \section2 Widget-based web view is not available - - The Qt WebEngine APIs are available only for Qt Quick 2 based applications at the moment. - The QWidget-based equivalents, like QWebEngineView, will become supported in future releases. - For the time being, use the WebEngineView QML element. - - \section2 Qt Quick Compiler fails on the emulators - - The Qt Quick Compiler is not yet functional in the emulator environments, and projects - are likely fail to build or run with compilation enabled. Support for the emulators - will be added in a later release. - - \section2 QML debugging not functional when using Qt Quick Compiler - - QML debugging is not fully functional when the Qt Quick Compiler is enabled. Support - for this will be added in a later release. - - - \section2 Boundary Devices Android Jellybean i.MX6 image deploying issues - - On some hosts running the mksdcard.sh script results in the following failure messages: - - \badcode - Cannot find device with major:minor 8:20: No such device - cp: target ‘/media/BOOT/’ is not a directory - \endcode - - This means that flashing an sdcard has failed, even if the scripts seemingly runs to the end. - The issue can be worked around by adding "sleep" call before "udisks --mount" loop (search at - the end of the script): - - \badcode - sleep 2 - for n in 1 2 4 ; do - udisks --mount ${diskname}${prefix}${n} - done - \endcode - -*/ - -/*! - \page qtee-qml-reference.html - \title Add-On QML Types - \previouspage qtee-licenses.html - - The following QML modules are included in the \B2Q stack and provide - additional QML types that are useful in an embedded application: - - \annotatedlist qtee-qmlmodules - - \section1 WiFi Module - - \annotatedlist wifi-qmltypes -*/ diff --git a/src/doc/src/devices/qtee-bd-sl-imx6.qdoc b/src/doc/src/devices/qtee-bd-sl-imx6.qdoc new file mode 100644 index 0000000..700375c --- /dev/null +++ b/src/doc/src/devices/qtee-bd-sl-imx6.qdoc @@ -0,0 +1,110 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ +/*! + \target BD-SL-i.MX6 (embedded Android and Linux) + \page qtee-preparing-hardware-imx6.html + \title Preparing BD-SL-i.MX6 + \previouspage qtee-installation-guide.html + + Take the following steps to prepare a + \l{http://boundarydevices.com/products/sabre-lite-imx6-sbc/} + {Boundary Devices BD-SL-i.MX6} (SABRE Lite) for \B2Q. + + \note It is important that you repeat the steps in this section after you + update \SDK. + + The images containing the \B2Q stack for BD-SL-i.MX6 are included + in \SDK, ready to be copied to an SD card. + + \section1 Preparing an SD Card + + For \B2QA, an SD card of at least 4 GB capacity is needed. For \B2QL, + a card of at least 512 MB capacity is sufficient. + + \include detect-sd-card-device-name.qdocinc instructions + + \section1 Installing the Android image + + \e{If installing} \B2QL, \e{you can skip this step and proceed to} + \l{Installing the Boot to Qt Image}. + + Download the package \e{imx6-jb-20130628.tar.gz} from + \l{http://boundarydevices.com/android-jellybean-on-i-mx6-with-no-disclaimers/}{Boundary + Devices Android Jellybean i.MX6 images} (registration required). + + Use the following commands to create an SD card containing the + downloaded image: + + \list 1 + \li Extract the downloaded package: + \badcode + ~/$ mkdir bd-android + ~/$ cd bd-android + ~/bd-android$ tar zxvf ~/Downloads/imx6-jb-20130628.tar.gz + \endcode + \li Run device/boundary/mksdcard.sh: + \badcode + ~/bd-android$ sudo device/boundary/mksdcard.sh /dev/<device_name> + ~/bd-android$ sync + \endcode + \endlist + + \section1 Installing the \B2Q Image + + Make sure you have the required tools installed in your development machine: + + \badcode + sudo apt-get install u-boot-tools + \endcode + + Then, upgrade the SD card with \B2Q. First, ensure that no partitions on the + SD card are mounted: + + \include detect-sd-card-device-name.qdocinc unmount + + Then, use one of the commands below, depending on whether you are developing + for embedded Android or Linux: + + \list + \li \b{\B2QA} + \badcode + cd <INSTALL_DIR> + ./Boot2Qt-3.x/generic-4.2-eAndroid/images/iMX6/deploy.sh /dev/<device_name> + \endcode + \li \b{\B2QL} + \badcode + cd <INSTALL_DIR> + sudo ./Boot2Qt-3.x/iMX6-eLinux/images/deploy.sh /dev/<device_name> + \endcode + \endlist + + After the installation is complete, insert the SD card, power on the device and check that + the \B2Q welcome screen and/or demo appear. + + \section1 Setting up USB Access + + \include b2qt-post-install-setup.qdocinc setting up usb access + + \section1 Configuring a Device Kit in Qt Creator + + \include b2qt-post-install-setup.qdocinc configuring device kit android linux + + You are now ready to start developing for your device. For more information, + see \l{Building and Running an Example}. +*/ diff --git a/src/doc/src/devices/qtee-beagleboard-xm.qdoc b/src/doc/src/devices/qtee-beagleboard-xm.qdoc new file mode 100644 index 0000000..fae5725 --- /dev/null +++ b/src/doc/src/devices/qtee-beagleboard-xm.qdoc @@ -0,0 +1,69 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ +/*! + \target BeagleBoard-xM (embedded Linux) + \page qtee-preparing-hardware-beagleboard.html + \title Preparing BeagleBoard-xM + \previouspage qtee-installation-guide.html + \nextpage qtee-building-and-running.html + + Take the following steps to prepare a \l{http://beagleboard.org/hardware-xM} + {BeagleBoard-xM} for + \B2Q. + + \note BeagleBoard-xM is no longer supported in \SDK 3.0. It is still, + however, supported and tested under the previous 2.x versions. + + The image containing \B2Q stack for BeagleBoard-xM are included in \SDK, + ready to be copied to an SD card. + + \section1 Preparing an SD Card + + An SD card of at least 512 MB capacity is needed. + + \include detect-sd-card-device-name.qdocinc instructions + + \section1 Installing the \B2Q Image + + To write the image to the SD card, ensure that no partitions on the + SD card are mounted: + + \include detect-sd-card-device-name.qdocinc unmount + + Then, + + \badcode + cd <INSTALL_DIR> + sudo Boot2Qt-3.x/beagleboard-eLinux/images/deploy.sh /dev/<device_name> + \endcode + + After the image has been deployed, power on the device and check that + the \B2Q welcome screen and/or demo appear. + + \section1 Setting up USB Access + + \include b2qt-post-install-setup.qdocinc setting up usb access + + \section1 Configuring a Device Kit in Qt Creator + + \include b2qt-post-install-setup.qdocinc configuring device kit + + You are now ready to start developing for your device. For more information, + see \l{Building and Running an Example}. +*/ diff --git a/src/doc/src/devices/qtee-beaglebone-black.qdoc b/src/doc/src/devices/qtee-beaglebone-black.qdoc new file mode 100644 index 0000000..360eb6d --- /dev/null +++ b/src/doc/src/devices/qtee-beaglebone-black.qdoc @@ -0,0 +1,101 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ +/*! + \target BeagleBone Black (embedded Android and Linux) + \page qtee-preparing-hardware-beaglebone.html + \title Preparing BeagleBone Black + \previouspage qtee-installation-guide.html + + Take the following steps to prepare a + \l{http://beagleboard.org/products/beaglebone%20black}{BeagleBone Black} for \B2Q. + + \note It is important that you repeat the steps in this section after you + update \SDK. + + The images containing the \B2Q stack for BeagleBone Black are included + in \SDK, ready to be copied to an SD card. + + \section1 Preparing an SD Card + + For \B2QA, an SD card of at least 2 GB capacity is needed. For \B2QL, + a card of at least 512 MB capacity is sufficient. + + \include detect-sd-card-device-name.qdocinc instructions + + \section1 Installing the Android image + + \e{If installing} \B2QL, \e{you can skip this step and proceed to} + \l{Installing the Boot to Qt Image}. + + Download the package \e{TI_Android_JB_4.2.2_DevKit_4.1.1_beagleboneblack.tar.gz} from + \l{http://downloads.ti.com/sitara_android/esd/TI_Android_DevKit/TI_Android_JB_4_2_2_DevKit_4_1_1/index_FDS.html} + {Texas Instruments} (search for \e {BeagleBone Black} in the list of download packages). + + Use the following commands to create an SD card containing the + downloaded image: + + \list 1 + \li Extract the downloaded package: + \badcode + ~$ tar zxvf ~/Downloads/TI_Android_JB_4.2.2_DevKit_4.1.1_beagleboneblack.tar.gz + \endcode + \li Run beagleboneblack/mkmmc-android.sh: + \badcode + ~$ cd beagleboneblack + ~/beagleboneblack$ sudo ./mkmmc-android.sh /dev/<device_name> + \endcode + \endlist + + \section1 Installing the \B2Q Image + + Then, upgrade the SD card with \B2Q. First, ensure that no partitions on the + SD card are mounted: + + \include detect-sd-card-device-name.qdocinc unmount + + Then, use one of the commands below, depending on whether you are developing + for embedded Android or Linux: + + \list + \li \b{\B2QA} + \badcode + cd <INSTALL_DIR> + ./Boot2Qt-3.x/generic-4.2-eAndroid/images/beaglebone/deploy.sh + \endcode + \li \b{\B2QL} + \badcode + cd <INSTALL_DIR> + sudo ./Boot2Qt-3.x/beaglebone-eLinux/images/deploy.sh /dev/<device_name> + \endcode + \endlist + + After the installation is complete, insert the SD card, power on the device and check that + the \B2Q welcome screen and/or demo appear. + + \section1 Setting up USB Access + + \include b2qt-post-install-setup.qdocinc setting up usb access + + \section1 Configuring a Device Kit in Qt Creator + + \include b2qt-post-install-setup.qdocinc configuring device kit android linux + + You are now ready to start developing for your device. For more information, + see \l{Building and Running an Example}. +*/ diff --git a/src/doc/src/devices/qtee-imx53.qdoc b/src/doc/src/devices/qtee-imx53.qdoc new file mode 100644 index 0000000..96dcbea --- /dev/null +++ b/src/doc/src/devices/qtee-imx53.qdoc @@ -0,0 +1,70 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ +/*! + \target i.MX53 Quick Start Board (embedded Linux) + \page qtee-preparing-hardware-imx53qsb.html + \title Preparing i.MX53 Quick Start Board + \previouspage qtee-installation-guide.html + \nextpage qtee-building-and-running.html + + Take the following steps to prepare a + \l{http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=IMX53QSB} {i.MX53 Quick Start Board} + for \B2Q. + + \note Ethernet networking is required to connect the device to Qt Creator. + + \note It is important that you repeat the steps in this section after you + update \SDK. + + As i.MX53 Quick Start Board is not a \SDK reference board, there is no ready-made + image containing a \B2Q stack available. Instead, you must build it yourself using + the Yocto recipes and build scripts from the \B2Q source packages. + For more information, see \l{Building Your Own Embedded Linux Image}. + + \section1 Preparing an SD Card + + An SD card of at least 512 MB capacity is sufficient. + + \include detect-sd-card-device-name.qdocinc instructions + + \section1 Installing the \B2Q Image + + To write the image to the SD card, ensure that no partitions on the + SD card are mounted: + + \include detect-sd-card-device-name.qdocinc unmount + + Then, + + \badcode + cd <QtBuildDir> + sudo deploy.sh /dev/<device_name> + \endcode + + After the image has been deployed, insert the SD card, power on the device and check that + the \B2Q welcome screen and/or demo appear. + + \section1 Configuring a Device Kit in Qt Creator + + \include b2qt-post-install-setup.qdocinc configuring network device + + You are now ready to start developing for your device. For more information, + see \l{Building and Running an Example}. +*/ + diff --git a/src/doc/src/devices/qtee-nexus-7.qdoc b/src/doc/src/devices/qtee-nexus-7.qdoc new file mode 100644 index 0000000..c461fb6 --- /dev/null +++ b/src/doc/src/devices/qtee-nexus-7.qdoc @@ -0,0 +1,103 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ +/*! + \target Nexus 7 (2012/2013) (embedded Android) + \page qtee-preparing-hardware-nexus-7.html + \title Preparing Nexus 7 (2012/2013) + \previouspage qtee-installation-guide.html + \nextpage qtee-building-and-running.html + + Take the following steps to prepare a + \l{http://www.google.com/nexus/7/specs/}{Nexus 7 (2012/2013)} for + \B2Q. + + \note The installation process will wipe the device. Make sure to + backup any personal data. The device can later be restored to + factory state, see \l{nexus-factory-reset}{Troubleshooting}. + + The Nexus 7 must have the same Android main version (e.g. \c{4.2} + or \c{4.4}) as the generic \B2Q eAndroid stack that is to be + installed. If needed, you can update the Android version either by + using Android's upgrading tool, or by flashing a factory image of + the right version. See \l{nexus-factory-reset}{Troubleshooting}. + + \section1 Enabling Developer Mode + + In order to install the \B2Q stack into the Nexus 7, you need to + enable developer mode and USB debugging. This is only needed for + the first time install. + + \note If for some reason the device does not boot up normally, it + is also possible to install to a Nexus 7 started up in + \c{fastboot} (bootloader) mode (see + \l{nexus-factory-reset}{Troubleshooting}). Just skip this section + and add the \c{-fastboot} argument to the \c{deploy.sh} command + below. + + \list 1 + \li Power up the device. + \li Open the \b{Settings} app and select the \b{About tablet} item. + \li Press the \b{Build number} item seven times, until the message "You are now a developer!" appears. + + \li Back in the \b{Settings} menu, select \b{Developer options}. + \li Press the \b{USB debugging} item and confirm that you allow USB debugging. + \endlist + + You should now be able to establish USB connection to the device as follows. + + \section1 Setting up USB Access + + \include b2qt-post-install-setup.qdocinc setting up usb access + + \section1 Deploying the \B2Q Stack + + Depending on the edition of your Nexus 7 device, use one of the + commands below to install the \B2Q stack. Replace \c{X.Y} with the + device's Android version number, for example \c{4.2} or \c{4.4}. + + \note The deploy script will check that the connected Nexus device + is of the expected type and Android version, and abort the + installation if it is not. + + \list + \li \b{Nexus 7 (2013):} + \badcode + cd <INSTALL_DIR> + ./Boot2Qt-3.x/generic-X.Y-eAndroid/images/nexus7v2/deploy.sh + \endcode + \li \b{Nexus 7 (2012):} + \badcode + cd <INSTALL_DIR> + ./Boot2Qt-3.x/generic-X.Y-eAndroid/images/nexus7/deploy.sh + \endcode + \endlist + + During the installation, the device may ask for confirmation to be + unlocked. Press the power button once to confirm. + + The device will reboot during the process. Do not interact with it + or unplug it until the process is fully completed. + + \section1 Configuring a Device Kit in Qt Creator + + \include b2qt-post-install-setup.qdocinc configuring device kit android + + You are now ready to start developing for your device. For more information, + see \l{Building and Running an Example}. +*/ diff --git a/src/doc/src/devices/qtee-raspberry-pi.qdoc b/src/doc/src/devices/qtee-raspberry-pi.qdoc new file mode 100644 index 0000000..9a30dce --- /dev/null +++ b/src/doc/src/devices/qtee-raspberry-pi.qdoc @@ -0,0 +1,69 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ +/*! + \target Raspberry Pi Model B (embedded Linux) + \page qtee-preparing-hardware-rasberrypi.html + \title Preparing Raspberry Pi + \previouspage qtee-installation-guide.html + \nextpage qtee-building-and-running.html + + Take the following steps to prepare a \l{http://www.raspberrypi.org/} + {Raspberry Pi} for + \B2Q. + + \note Ethernet networking is required to connect the device to Qt Creator. + This means that the support is currently limited to Raspberry Pi Model B, which + includes an Ethernet port. + + \note It is important that you repeat the steps in this section after you + update \SDK. + + The image containing \B2Q stack for Raspberry Pi is included in the SDK, + ready to be copied to an SD card. + + \section1 Preparing an SD Card + + An SD card of at least 512 MB capacity is sufficient. + + \include detect-sd-card-device-name.qdocinc instructions + + \section1 Installing the \B2Q Image + + To write the image to the SD card, ensure that no partitions on the + SD card are mounted: + + \include detect-sd-card-device-name.qdocinc unmount + + Then, + + \badcode + cd <INSTALL_DIR> + sudo Boot2Qt-3.x/raspberrypi-eLinux/images/deploy.sh /dev/<device_name> + \endcode + + After the image has been deployed, insert the SD card, power on the device and check that + the \B2Q welcome screen and/or demo appear. + + \section1 Configuring a Device Kit in Qt Creator + + \include b2qt-post-install-setup.qdocinc configuring network device + + You are now ready to start developing for your device. For more information, + see \l{Building and Running an Example}. +*/ diff --git a/src/doc/src/devices/qtee-sabre-sd-imx6quad.qdoc b/src/doc/src/devices/qtee-sabre-sd-imx6quad.qdoc new file mode 100644 index 0000000..15898c7 --- /dev/null +++ b/src/doc/src/devices/qtee-sabre-sd-imx6quad.qdoc @@ -0,0 +1,69 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ +/*! + \target SABRE SD i.MX6Quad (embedded Linux) + \page qtee-preparing-hardware-imx6sabresd.html + \title Preparing SABRE SD i.MX6Quad + \previouspage qtee-installation-guide.html + + Take the following steps to prepare a + \l{http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=RDIMX6SABREBRD} + {Freescale SABRE SD i.MX6Quad} for \B2Q. + + \note It is important that you repeat the steps in this section after you + update \SDK. + + The images containing the \B2Q stack for SABRE SD i.MX6Quad are included + in \SDK, ready to be copied to an SD card. + + \section1 Preparing an SD Card + + An SD card of at least 512 MB capacity is sufficient. + + \include detect-sd-card-device-name.qdocinc instructions + + \section1 Installing the \B2Q Image + + To write the image to the SD card, ensure that no partitions on the + SD card are mounted: + + \include detect-sd-card-device-name.qdocinc unmount + + Then, + + \badcode + cd <INSTALL_DIR> + sudo Boot2Qt-3.x/imx6qsabresd-eLinux/images/deploy.sh /dev/<device_name> + \endcode + + After the image has been deployed, insert the SD card, power on the device and check that + the \B2Q welcome screen and/or demo appear. + + \section1 Setting up USB Access + + \include b2qt-post-install-setup.qdocinc setting up usb access + + \section1 Configuring a Device Kit in Qt Creator + + \include b2qt-post-install-setup.qdocinc configuring device kit + + You are now ready to start developing for your device. For more information, + see \l{Building and Running an Example}. +*/ + diff --git a/src/doc/src/devices/qtee-supported-devices.qdoc b/src/doc/src/devices/qtee-supported-devices.qdoc new file mode 100644 index 0000000..ad33aa9 --- /dev/null +++ b/src/doc/src/devices/qtee-supported-devices.qdoc @@ -0,0 +1,106 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ + +/*! + \page qtee-preparing-hardware.html + \title Preparing Hardware + \previouspage qtee-supported-platforms.html + \nextpage qtee-building-and-running.html + + Before you can deploy and test your Qt application on hardware, you must + flash the target device with an image that contains the + \B2Q stack. These steps vary from device to device: + + \list + \li \l{Nexus 7 (2012/2013) (embedded Android)} + \li \l{BD-SL-i.MX6 (embedded Android and Linux)} + \li \l{SABRE SD i.MX6Quad (embedded Linux)} + \li \l{Toradex Apalis iMX6 (embedded Linux)} + \li \l{BeagleBone Black (embedded Android and Linux)} + \li \l{BeagleBoard-xM (embedded Linux)} + \li \l{Raspberry Pi Model B (embedded Linux)} + \endlist + + If you use only the emulator, you can skip this step + and continue straight to \l {Building and Running an Example}. +*/ + +/*! + \page qtee-supported-platforms.html + \title Supported Platforms + \previouspage qtee-installation-guide.html + \nextpage qtee-preparing-hardware.html + + \section1 Supported Reference Devices + + The \B2Q stack can be made to run on a variety of hardware. For \SDK license + holders, tooling is provided to customize the contents of the stack as well + as to take it into desired production hardware. For more information on how + to customize the stack for embedded Linux, see + \l {Building Your Own Embedded Linux Image}. + + Approximate minimal hardware requirements for running \B2Q are: + \list + \li 256 MB of RAM + \li 500 MHz CPU, 1 GHz preferred for 60-FPS velvet-smooth UI + \li OpenGL ES 2.0 support + \endlist + + \B2QA requires hardware that has support for the Android operating + system, version 4.2 or later. + + \B2Q software stack is provided pre-built, tested and supported for the + following hardware: + \list + \li \l{http://www.google.com/nexus/7/specs/} + {Google/Asus Nexus 7 (2012 and 2013 models)} + \li \l{http://beagleboard.org/products/beaglebone%20black} + {BeagleBone Black} + \li \l{http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=RDIMX6SABREBRD} + {Freescale SABRE SD i.MX6Quad} + \li \l{http://boundarydevices.com/products/sabre-lite-imx6-sbc/} + {BD-SL-i.MX6} + \li \l{http://www.toradex.com/products/apalis-arm-computer-modules/freescale-imx-6-computer-module} + {Toradex Apalis iMX6} + \li \l{http://www.raspberrypi.org/faqs} + {Raspberry Pi Model B} + \endlist + + \section2 Legacy Reference Devices + + The following devices are no longer tested or supported by the latest + release of \SDK. + + \list + \li \l{http://beagleboard.org/hardware-xM} + {BeagleBoard-xM} + \list + \li Starting from \SDK 3.0 release, BeagleBoard-xM is no longer + tested and supported. It is, however, still tested and supported + in the earlier 2.x releases. + \endlist + \endlist + + \section1 Supported Development Environment + + The development environment supported by \SDK is Ubuntu Linux 64-bit (12.04 LTS or later). + + \sa {Requirements for Development Host} + +*/ diff --git a/src/doc/src/devices/qtee-toradex-apalis.qdoc b/src/doc/src/devices/qtee-toradex-apalis.qdoc new file mode 100644 index 0000000..4af35c3 --- /dev/null +++ b/src/doc/src/devices/qtee-toradex-apalis.qdoc @@ -0,0 +1,80 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ +/*! + \target Toradex Apalis iMX6 (embedded Linux) + \page qtee-preparing-hardware-apalis-imx6.html + \title Preparing Toradex Apalis iMX6 + \previouspage qtee-installation-guide.html + + Take the following steps to prepare a + \l{http://www.toradex.com/products/apalis-arm-computer-modules/freescale-imx-6-computer-module} + {Toradex Apalis iMX6} for \B2Q. + + \note It is important that you repeat the steps in this section after you + update \SDK. + + The images containing the \B2Q stack for Toradex Apalis iMX6 are included + in \SDK, ready to be copied to an SD card. + + \section1 Preparing an SD Card + + An SD card of at least 512 MB capacity is sufficient. + + \include detect-sd-card-device-name.qdocinc instructions + + \section1 Installing the \B2Q Image + + To write the image to the SD card, ensure that no partitions on the + SD card are mounted: + + \include detect-sd-card-device-name.qdocinc unmount + + Then, + + \badcode + cd <INSTALL_DIR> + sudo Boot2Qt-3.x/apalis-imx6-eLinux/images/deploy.sh /dev/<device_name> + \endcode + + By default, the Toradex Apalis iMX6 boots from its internal eMMC. In order to boot from + the external SD card, the U-Boot environment needs to be updated. Connect a serial cable + to the device and enter into the U-Boot environment by pressing any key before the autoboot. + Enter following lines into U-Boot: + + \badcode + setenv bootcmd 'run sdboot ; echo sdboot failed ; run emmcboot ; echo ; echo emmcboot failed ; run nfsboot ; echo ; echo nfsboot failed ; usb start ;setenv stdout serial,vga ; setenv stdin serial,usbkbd' + setenv sdboot 'run setup; setenv bootargs ${defargs} ${sdargs} ${setupargs} ${vidargs};echo Booting from SD card in 4bit slot...; fatload mmc 2:1 10800000 uImage && bootm 10800000' + setenv sdargs 'ip=off root=/dev/mmcblk1p2 rw,noatime rootfstype=ext3 rootwait' + saveenv + \endcode + + New U-Boot command are now stored into the device, and you can start \B2Q. For more information + about the boot process on Toredex Apalis iMX6, see + \l{http://developer.toradex.com/software-resources/arm-family/linux/linux-booting}{Toradex Linux Booting} + + After the image has been deployed, insert the SD card, power on the device and check that + the \B2Q welcome screen and/or demo appear. + + \section1 Configuring a Device Kit in Qt Creator + + \include b2qt-post-install-setup.qdocinc configuring network device + + You are now ready to start developing for your device. For more information, + see \l{Building and Running an Example}. +*/ diff --git a/src/doc/src/qtee-building-running.qdoc b/src/doc/src/qtee-building-running.qdoc new file mode 100644 index 0000000..7dbcb04 --- /dev/null +++ b/src/doc/src/qtee-building-running.qdoc @@ -0,0 +1,134 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ +/*! + \page qtee-building-and-running.html + \title Building and Running Embedded Applications + \previouspage qtee-preparing-hardware.html + \nextpage qtee-custom-build-steps.html + + \section1 Building and Running an Example + + After you complete the installation and configuration steps for \SDK and the + target devices, you can test the setup by creating a simple \l{Qt Quick} + application and running it on the device: + + \list 1 + \li Make sure that your device is powered on and connected to the + development host. + \li In Qt Creator, select \b File > \b {New File or Project} > + \b Applications > \b{Qt Quick Application} > \b{Choose}. + \li Choose a location for your new project. + \li In the \b{Qt Quick Component Set} dialog, select \b{Qt Quick 2.2} + or \b{Qt Quick 2.2 Boot2Qt}. + \li In the \b{Kit Selection} dialog, select the kits for your + devices. You can also select the emulator kit to test running the + project in the emulator. + \li Click \b{Next} and finish the wizard. + \li In \b Projects > \b {Build & Run}, select the correct kit for your + connected device. + \li To build and run the project, click \inlineimage qtcreator-run.png + \endlist + + \section1 Building and Running \B2Q Demos + + You can find the \B2Q demo applications in Qt Creator. + + \list 1 + \li Go to \b Welcome > \b Examples. + \li Select a \e Boot2Qt Qt version from the drop-down list. + \li Select a demo you want to build. + \li In \b Projects > \b {Build & Run}, select the correct kit for your + connected device or emulator. + \li To build and run the project, click \inlineimage qtcreator-run.png + \endlist + + \section1 Setting Up an Already Existing Project for Deployment + + New Qt Quick application projects generated by Qt Creator always have the correct + settings for deployment on the device or emulator. However, other projects need + some changes. This includes projects created using the + \b File > \b {New File or Project} > \b Applications > \b{Qt Widget Application} + template. + + As a general rule, application binaries and resources are deployed to the + \c {/data/user/qt/<APPLICATION_NAME>} directory. Therefore, the \c path variable for + the \c INSTALLS targets needs to be adjusted accordingly in .pro files. + + Open the .pro file and define the \c target.path and \c INSTALLS variables as follows: + + \badcode + target.path = /data/user/qt/$$TARGET + INSTALLS += target + \endcode + + Above, \c {$$TARGET} expands to the application target (executable) name. + + \section2 Deploying Application Resources + + If the application depends on additional resources (such as QML files and + images), you need to deploy them as well. For example: + + \badcode + appFiles.files = *.png qml + appFiles.path = /data/user/qt/$$TARGET + INSTALLS += appFiles + \endcode + + Above, all PNG images from the application source directory, and the entire + \e qml subdirectory are included in the deployment. + + Alternatively, the files used by the application can be stored into the application + executable using the \l{The Qt Resource System}{Qt resource system}. This way, simply + deploying the application binary is all that's required. +*/ + +/*! + \page qtee-custom-build-steps.html + \title Special Build & Run Options + \previouspage qtee-building-and-running.html + \nextpage qtee-customization.html + + Qt Creator allows you to execute custom commands on the embedded device connected + to the development host, both during the build process and during deployment of your + application. + + \section1 Custom Build Steps + + To add a custom step to be executed during the build: + + \list 1 + \li In Qt Creator, go to \b Projects > \b {Build Settings} + \li Select \b Build configuration for the \e {\B2Q} version you want to customize. + \li Click \b {Add Build Step} and select \b {Custom Remote Command (via adb shell)}. + \li Enter the command to be executed. + \endlist + + \section1 Custom Deployment Steps + + To add a custom step to be executed during deployment: + + \list 1 + \li In Qt Creator, go to \b Projects > \b {Run Settings} + \li Select \b Run configuration for the \e {\B2Q} version you want to customize. + \li Click \b {Add Deploy Step} and select \b {Custom Remote Command (via adb shell)}. + \li Enter the command to be executed. + \endlist + + \sa {Booting to a Custom Application} +*/ diff --git a/src/doc/src/qtee-changelog.qdoc b/src/doc/src/qtee-changelog.qdoc new file mode 100644 index 0000000..494c285 --- /dev/null +++ b/src/doc/src/qtee-changelog.qdoc @@ -0,0 +1,239 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ + +/*! + \page qtee-changelog.html + \title ChangeLog + \previouspage qtee-customization.html + \nextpage qtee-troubleshooting.html + + \section1 \B2Q 3.1.1 + + \list + \li Release date: Aug 20, 2014 + \endlist + + \section2 Changes + \b {Fixed Bugs}: + \list + \li \l {Building Your Own Embedded Linux Image}: + fixed issues that caused the Yocto build process to fail. + \endlist + + \section1 \B2Q 3.1.0 + + \list + \li Release date: July 3, 2014 + \endlist + + \section2 Changes + \b {New Features}: + \list + \li Boot to Qt stack was updated to use Qt 5.3.1 on embedded Android + and Linux. + \li Added a generic solution for injecting \B2QA stack into devices + running Android version 4.2.2 or later. + \li \l {Preparing Toradex Apalis iMX6}{Toradex Apalis iMX6} was added + as a reference device. + \li \l {Qt Data Visualization} was updated to version 1.1. + \li \l {Qt Charts} was updated to version 1.4. + \li \l {Qt Virtual Keyboard} was update to version 1.1. + \endlist + + \b {Improvements}: + \list + \li Added translucent widget windows support to eglfs. + \li Changed \e appcontroller to print status messages to stdout. + \li Switched to use symbolic links for GL-streaming library, instead + of having multiple copies. + \li Fixed C++ debugging issues and improved performance on embedded + Android. + \li Updated the content of \e About \e {\SDK} demo. + \li Improved Sensors and Media Player examples. + \endlist + + \b {Fixed Bugs}: + \list + \li Fixed WiFi not working on Nexus 7 (2013). + \li BeagleBone Black: Fixed C++ debugging failing on embedded Android. + \li BeagleBone Black: embedded Linux did not include USB serial drivers. + \li Fixed JavaScript crash on ARM (QTBUG-39289). + \li Removed useless warnings about setMask when using Qt Widgets. + \endlist + + \section1 \B2Q 3.0.0 + + \list + \li Release date: May 22, 2014 + \endlist + + \section2 Changes + \b {New Features}: + \list + \li \B2Q stack was updated to use Qt 5.3 on embedded Android and Linux + \li \l {Qt Virtual Keyboard} was updated to version 1.0 + \li \l {Qt Data Visualization} demo was added + \li Qt WebEngine 0.9 support (including WebEngine demo) was added for + embedded Android and Linux. However, the Emulator target is + currently not supported + \li \l {Qt Quick Compiler} (Technology Preview) was added to the \B2Q stack + \li \l{Preparing Nexus 7 (2012/2013)}{Nexus 7 (2013)} was added as a + reference device for embedded Android + \li \l{Preparing SABRE SD i.MX6Quad}{Freescale SABRE SD i.MX6Quad} was + added as a reference device for embedded Linux + \li WiFi networking support and configuration were implemented on + embedded Linux + \endlist + + \b {Improvements}: + \list + \li Emulator warnings were improved + \li Embedded Linux: Moved to use Yocto 1.6 (Daisy) + \li Debug symbols were moved to a separately installable package + \li Presentation of \B2Q demos in Qt Creator was improved + \endlist + + \b {Fixed Bugs}: + \list + \li Build scripts: Incorrect path was fixed + \endlist + +\section1 \B2Q 2.1.0 + + \list + \li Release date: Apr. 15, 2014 + \endlist + + \section2 Changes + \b {New Features}: + \list + \li \l {Qt Data Visualization} version 1.0 was added to the \B2Q stack + \li \l {Enginio Data Storage} version 1.0 was added to the \B2Q stack + \li \l {Qt Quick Enterprise Controls} was updated to version 1.1 + \li \l {Qt Serial Port} support was added to the \B2Q stack + \li Bluetooth on \B2QL: Support for bluez was added + \li Added support for building \B2QL for i.MX53 from sources + \endlist + + \b {Improvements}: + \list + \li Qt Creator plugin for \B2Q now supports incremental deployment, custom adb commands + \li Adb now easily usable over IP on all devices on \B2QL + \li Update new content to device without erasing it first on \B2QL + \li All images now contain generally used CA certificates + \li Toolchains updated to support Qt WebEngine + \li Documentation was added for QML types provided by the \l {WiFi Module} + \li Emulator: Debug logging functionality was added + \li Various documentation improvements + \li \SDK installer error handling was improved + \li 3rd party license information was updated + \li Launcher Settings application UI was improved + \endlist + + \b {Fixed Bugs}: + \list + \li \B2QL: OpenSSL Heartbleed bug was fixed + \li \B2QA: Qt debug symbols were missing + \li QEglFSCompositor::render() using incorrect vertices for full-screen quad, resulting in bad texture sampling + \li Use damaged rect instead of full texture upload for raster windows + \li Emulator: Crash when launching multiple instances + \li Emulator: State transitions were not working properly + \li \B2QA emulator: C++ debugging was fixed + \li Emulators: Qt Quick applications don't exit on Qt.quit() + \li Banding was visible on Raspberry Pi + \li Qt Creator: adb failed to connect + \li QtCreator: Different Virtual Machiness with the same OS were not handled properly + \li Qt Creator: Tabstop order in device wizard was incorrect + \li Qt 5 Everywhere demo: not all internet radio station were working + \endlist + + \b {Fixed Known Issues}: + \list + \li Embedded Android: Arabic Numbers Not Always Rendered Correctly + \endlist + + \section1 \B2Q 2.0.0 + + \list + \li Release date: Feb. 25, 2014 + \endlist + + \section2 Changes + \b {New Features}: + \list + \li \B2Q stack was updated to use Qt 5.2.1 on embedded Android and Linux + \li Building your own \B2Q embedded Linux stack was enabled + \li Emulator graphics performance and quality was improved (GL-streaming) + \li BeagleBone Black was added as a reference device + \li \l {Qt Virtual Keyboard} was integrated into \B2Q + \li \l {Qt Quick Enterprise Controls} was added to the \B2Q stack + \li \l {Qt Charts} was added to the \B2Q stack + \li \B2Q source code was made available via online installer + \li WiFi networking support/configuration were implemented on embedded Android + \li Ethernet connectivity was enabled on embedded Android + \endlist + + \b {Improvements}: + \list + \li Updated GDB for embedded Android toolchain + \li Enterprise demos (Charts, Enterprise Controls) were added + \li Embedded Linux: Moved to use Yocto 1.5 (Dora) + \li Demos available as examples in Qt Creator + \li Embedded Android emulator updated to Android 4.2.2 + \endlist + + \b {Fixed Bugs}: + \list + \li Embedded Android emulator: Missing Mesa headers + \li Embedded Linux emulator: Black screen in camera demo + \li Emulator tries to load host plugins + \li Sensors not working in emulators + \li Empty \c HOME environment variable in processes launched by appcontroller + \li Embedded Android emulator: C++ debugging fails + \li Qt add-ons not installed to host + \endlist + + \b {Fixed Known Issues}: + \list + \li Qt SQL: QML LocalStorage Fails to Connect to Database on Embedded Android + \li Qt XML Patterns: Module not Available on embedded Android + \li Qt Multimedia: Audio is Muted on Nexus 7 + \li Unnecessary Warnings Displayed by the Installer + \li Virtual Keyboard: Backspace Removes Two Characters + \endlist + + \section1 \B2Q 1.0.1 + + \list + \li Release date: Dec. 5, 2013 + \endlist + + \section2 Changes + \list + \li Emulator: Remote control widget version shown together with emulator version + \li Emulator: Mouse events are sent instead of touch events + \li Emulator: Raster window support added + \li Emulator: emulatorproxyd shows its version on startup + \li Emulator: Detect some network problems + \li Emulator: Fixed issues related to startup + \li Emulator: Updated source code license headers + \li Emulator: Show all VirtualBox errors + \li Emulator: Video playback support on embedded Linux + \endlist +*/ diff --git a/src/doc/src/qtee-custom-embedded-linux.qdoc b/src/doc/src/qtee-custom-embedded-linux.qdoc new file mode 100644 index 0000000..36484d2 --- /dev/null +++ b/src/doc/src/qtee-custom-embedded-linux.qdoc @@ -0,0 +1,160 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ +/*! + \page qtee-custom-embedded-linux-image.html + \title Building Your Own Embedded Linux Image + \previouspage qtee-customization.html + \nextpage qtee-changelog.html + + \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. + + \section2 Note About Support Services for Yocto Tools + + By default, Digia will only provide customer support for the Yocto + recipes on the reference platforms, as delivered with \SDK, and + setting up the development environment for them. Receiving support + for any other configuration requires a separate service agreement + between a customer and Digia. + + \section1 Requirements + + You should be familiar with the Yocto tools and the concept of + \e {recipes}. For more information, see Yocto Project + \l{https://www.yoctoproject.org/documentation/current}{documentation}. + + To get started, you need the following: + + \list + \li Install the \B2Q \e source packages. You can + find these by running the \e MaintenanceTool application + located in the \SDK installation directory and selecting + \e {Package Manager}. The \e {Yocto meta layer} package + contains the additional recipes required to make the image + compatible with \B2Q. + \li Install the dependencies for the Yocto tools. In Ubuntu, + the following packages are required: + \badcode + sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath libsdl1.2-dev xterm + \endcode + \endlist + + \section1 Setting Up Yocto Build Environment + + Run the setup script that initializes the Yocto environment: + + \badcode + cd <BuildDir> + <INSTALL_DIR>/Boot2Qt-3.x/sources/b2qt-yocto-meta/b2qt-init-build-env . + \endcode + + \section1 Building the Image and Toolchain + + After the Yocto environment is set up, you need to configure the + build environment for your target device. Using Raspberry Pi as + an example: + + \badcode + export TEMPLATECONF=meta-b2qt/conf + export MACHINE=raspberrypi + source poky/oe-init-build-env build-raspberrypi + \endcode + + The following table lists the \c MACHINE values for our reference platforms: + + \table + \header + \li Board + \li MACHINE value + \row + \li Raspberry Pi + \li raspberrypi + \row + \li BeagleBone Black + \li beaglebone + \row + \li Boundary Devices BD-SL-i.MX6 + \li nitrogen6x + \row + \li Freescale SABRE SD i.MX6Quad + \li imx6qsabresd + \row + \li Toradex Apalis iMX6 + \li apalis-imx6 + \row + \li Emulator + \li emulator + \endtable + + Yocto recipes for \B2QL have two main targets to build: The target image, + and the external toolchain that is used for building the Qt framework and + applications. + + \badcode + bitbake b2qt-embedded-image + bitbake meta-toolchain-b2qt-embedded-sdk + \endcode + + The target rootfs image is located in the \c <YoctoBuildDir>/tmp/deploy/images/<target>/b2qt-embedded-image-<target>.tar.gz, + and the new toolchain is in \c <YoctoBuildDir>/tmp/deploy/sdk/b2qt-eglibc-x86_64-meta-toolchain-b2qt-embedded-sdk-<target-architecture>-toolchain-1.6.sh + + \note The generated target image does not yet include Qt libraries, + you need to build Qt and add it into the image yourself. + + \section1 Building Qt and Addons + + \e {Build scripts} source package contains scripts that can be used to + build Qt and all additional Qt addons that are part of \B2QL image. + To setup build environment for your target hardware, run the initialization + script. Using Raspberry Pi as an example: + + \badcode + <INSTALL_DIR>/Boot2Qt-3.x/sources/b2qt-build-scripts/embedded-common/init_build_env.sh <INSTALL_DIR>/Boot2Qt-3.x/sources/b2qt-build-scripts/embedded-linux/config.raspberrypi + \endcode + + \note You can use the same build directory for Qt and the Yocto image. + The toolchain and the target image are then used from the Yocto build directory. + + You can use following scripts to build different parts of the \B2Q stack. + + \badcode + <INSTALL_DIR>/Boot2Qt-3.x/sources/b2qt-build-scripts/embedded-linux/build_qt.sh + <INSTALL_DIR>/Boot2Qt-3.x/sources/b2qt-build-scripts/embedded-linux/build_extras.sh + <INSTALL_DIR>/Boot2Qt-3.x/sources/b2qt-build-scripts/embedded-linux/build_image.sh + \endcode + + After \e {embedded-linux/build_image.sh} has finished, you can flash the device with + the updated image located in the build folder. + + \section1 Configuring Qt Creator + + After you have built the \B2Q stack, you must also set up Qt Creator in order to start + developing for your device. The following script does this for you. + + \badcode + <INSTALL_DIR>/Boot2Qt-3.x/sources/b2qt-build-scripts/embedded-common/setup_qtcreator.sh + \endcode + + This will set up a new kit in Qt Creator, using the toolchain and Qt from + your build directory. The new kit is visible under \b Tools > \b Options + > \b {Build & Run} > \b Kits. +*/ diff --git a/src/doc/src/qtee-customization.qdoc b/src/doc/src/qtee-customization.qdoc new file mode 100644 index 0000000..ec6e7c8 --- /dev/null +++ b/src/doc/src/qtee-customization.qdoc @@ -0,0 +1,148 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ + +/*! + \page qtee-customization.html + \title Customization + \previouspage qtee-building-and-running.html + \nextpage qtee-custom-embedded-linux-image.html + + \section1 Environment and Input + + By default, the basic environment variables and startup options of + \B2Q applications are set in the file \c + {/system/bin/appcontroller.conf} in embedded Android devices and + in \c{/etc/appcontroller.conf} in embedded Linux devices. + + You can customize this file if you target a hardware device that + has other input devices than the ones that the \B2Q stack is configured + for by default. + + On some devices, the root file system (where this file + resides) is mounted read-only at boot time. To allow modification, + remount it read-write by entering the following command: + \badcode + <INSTALL_DIR>/Tools/b2qt/adb remount + \endcode + + In the \c{appcontroller.conf} file, the input devices are + specified by the lines similar to these: + \badcode + env=QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event0 + \endcode + + Usually, you do not need to change this setting. USB input devices, such as + keyboards and mice, are automatically recognized. The mouse pointer is shown + automatically if a mouse is connected. + + However, hotplugging may not work, which means that the input + devices, such as a keyboard and mouse, have to be connected at boot + time. + + On some devices, for example the BD-SL-i.MX6, the touchscreen device is + specified explicitly with \c QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS. This is + necessary because the automatic device discovery would fail to find the + touchscreen. + + \section1 Booting to a Custom Application + + After you have deployed your own application to the device, it will be + launched on boot, instead of the \B2Q demo launcher. To prevent this + behavior, remove or disable the \b {Make this application the default one} + step from the \b{Run Settings} for your project in the Qt Creator \b Projects + mode. + + To remove your application from the default startup, use the following + command: + \badcode + <INSTALL_DIR>/Tools/b2qt/adb shell appcontroller --remove-default + \endcode + + \section1 Switching Between Portrait and Landscape Views + + Depending on device screen dimensions and application requirements, it might + be desirable + to change the default view orientation. The following example shows how to rotate your + application in QML. + + \qml + import QtQuick 2.2 + + Item { + id: root + width: 800 + height: 1280 + // Container element for rotating + Rectangle { + id: main + // Swap the width and height of the root item + width: root.height + height: root.width + anchors.centerIn: parent + // Rotate 90 degrees clockwise around transformOrigin + rotation: 90 + // The rotated content + Text { + text: qsTr("Hello World") + anchors.centerIn: parent + } + MouseArea { + anchors.fill: parent + onClicked: { + Qt.quit(); + } + } + } + } + \endqml + + \section1 Disabling Screen Composer on Embedded Android + + By default, the \B2Q stack uses Android's screen composer, \e + Surfaceflinger. It is required for Qt Multimedia functionality, + i.e. video playback and camera. If that functionality is not + required, Surfaceflinger may be disabled. This can in some + situations improve performance. + + \list 1 + \li Edit \c {/system/bin/appcontroller.conf} to set the value of + the environment variable \c QT_QPA_EGLFS_NO_SURFACEFLINGER to \c + 1 instead of \c 0. + \li Disable the startup of \c surfaceflinger at boot-up. Either + change \c /init.rc, or simply rename the \c + {/system/bin/surfaceflinger} executable. + \endlist + + \section1 Using Network Connection for ADB + + By default, \B2Q uses USB cable for communication between device and Qt Creator. + On \B2QL, you can change the device to use ethernet network connection for the + communication. To enable network connection, you need to modify file + \c /etc/default/adbd located on the devices, and change value of \c USE_ETHERNET + to \c 'yes'. This can also be done with \c adb, while the device is still + connected via USB. + + \badcode + <INSTALL_DIR>/Tools/b2qt/adb shell sed -i -e 's/USE_ETHERNET=no/USE_ETHERNET=yes/' /etc/default/adbd + \endcode + + \note You need to restart the device for this change to take effect. + + \include b2qt-post-install-setup.qdocinc configuring network device +*/ diff --git a/src/doc/src/qtee-index.qdoc b/src/doc/src/qtee-index.qdoc new file mode 100644 index 0000000..c881296 --- /dev/null +++ b/src/doc/src/qtee-index.qdoc @@ -0,0 +1,166 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ + +/*! + \contentspage{index.html}{Qt Enterprise Embedded} + \page index.html + \nextpage qtee-overview.html + \title Qt Enterprise Embedded + + \SDK provides 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. \SDK contains the tools + you need for fast, easy, and fully-integrated embedded device application + development. It comes with \B2Q, a light-weight UI stack for embedded + systems, and the Qt Creator integrated development environment (IDE) with + preconfigured build targets for hardware platforms, as well as an emulator + for testing the applications. + + \e{\b{IMPORTANT:} Make sure to follow the \l{Installation Guide} + closely!} + + \section1 Contents + + \list + \li \l{About Qt Enterprise Embedded} + \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{Preparing BD-SL-i.MX6}{BD-SL-i.MX6 (embedded Android and Linux)} + \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{License Information} + \endlist + + \section1 Reference Documentation + + \list + \li \l{Add-On QML Types} + \endlist +*/ + +/*! + \contentspage{index.html}{Qt Enterprise Embedded} + \page qtee-overview.html + \previouspage index.html + \nextpage qtee-installation-guide.html + + \title About Qt Enterprise Embedded + + \SDK has two main parts: + + \list + \li Development environment that is installed on a Linux development + desktop by using an online installer + \li \B2Q + \endlist + + \section1 About the Development Environment + + The development is done with the Qt Enterprise libraries and device + deployment can be done with one click directly from Qt Creator to a device + connected via USB. Alternatively, you can deploy the application locally + directly to the \B2Q Emulator that is running the full target software stack + as in the device. + + As with any Qt based application, the same application can be deployed to + desktop and mobile OS targets as well. + + \section1 About \B2Q + + \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 development environment. + + \B2Q supports two different operating systems: + + \list + \li \b{\B2QA} where the software stack is based on the Android Kernel + (version 4.1 or higher) and selected middleware. It includes a lean + software stack where Qt/QML replaces the top Java graphical layer + and removes the Zygote process layer as well the Android home screen + enabling better and faster development where modern UIs are at the + forefront. + + \li \b{\B2QL} where the software stack is using the traditional embedded + Linux kernel built with the Yocto Poky reference system (Yocto 1.6 + \e 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. + \endlist + + Both versions have been tested and verified on a number of different + hardware configurations. \B2Q support is not limited to the devices used + as reference platforms, it can be made to run on a variety of hardware. + + \section1 About Qt + + \l{http://qt.digia.com/}{Qt} is a full development framework with tools + designed to streamline the creation of applications and user interfaces + for desktop, embedded, and mobile platforms. + + \list + \li \b{Qt Framework} - intuitive APIs for C++ + and CSS/JavaScript-like programming with + \b{Qt Quick} for rapid UI + creation + \li \b{Qt Creator IDE} - powerful cross-platform integrated development + environment, including UI designer tools and on-device debugging + \li \b{Tools and toolchains} - internationalization support, embedded + toolchains and more. + \endlist + + 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 run to deploy also on other platforms. + + + \section1 \B2Q vs Qt for Android + + \image b2qt-vs-qt-for-android.png + + \e{\b{Qt for Android}} is a port of the Qt Framework to be used for application + development on the Android platform. Its purpose is to enable development + of applications that can run on Android devices. For developers writing + applications for the Android ecosystem, Qt for Android is the right choice. + + \b{\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 + \e{Dalvik virtual machine} is not running in \B2Q, + resulting in faster startup times, lower memory consumption and + overall better performance. +*/ diff --git a/src/doc/src/qtee-install-guide.qdoc b/src/doc/src/qtee-install-guide.qdoc new file mode 100644 index 0000000..558bd61 --- /dev/null +++ b/src/doc/src/qtee-install-guide.qdoc @@ -0,0 +1,149 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ + +/*! + \page qtee-installation-guide.html + \title Installation Guide + \previouspage qtee-overview.html + \nextpage qtee-supported-platforms.html + + To successfully set up \SDK, you must closely follow the instructions in + this section and perform all the described tasks. + + In case of problems, see the \l{Troubleshooting} information and the + \l {Known Issues} in \SDK \l {product page}. + + \target Requirements for Development Host + \section1 Requirements for Development Host + + A 64-bit Linux system is required to install and use \SDK. Instructions + in this documentation assume Ubuntu Linux 64-bit 12.04 LTS or later. + Other Linux distributions may work, but have not been tested. C/C++ build + essentials must be installed. + + \target Installing 32-bit Support Libraries + \section1 1. Installing 32-bit Support Libraries + + Some of the build tools in \SDK are 32-bit programs, and on 64-bit + systems they require support libraries for running 32-bit code. To + install the required packages in recent versions of Ubuntu, use + the following command in a terminal: + + \badcode + sudo apt-get install g++-multilib zlib1g:i386 + \endcode + + For older Ubuntu versions such as 12.04, instead do: + + \badcode + sudo apt-get install g++-multilib ia32-libs + \endcode + + \target Installing VirtualBox + \section1 2. Installing VirtualBox + + The \B2Q emulator in \SDK relies on VirtualBox virtualization software. You can + download it from \l{https://www.virtualbox.org/wiki/Linux_Downloads} or + install it via distribution tools. + + If you have older Ubuntu versions such as 12.04 you have to install a newer + version of VirtualBox than your distribution does provide. + You have to add a foreign package source: + + \badcode + wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add - + echo "deb http://download.virtualbox.org/virtualbox/debian $(lsb_release -sc) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list + sudo apt-get update + \endcode + + Now install VirtualBox on your computer + \badcode + sudo apt-get install virtualbox-4.3 + \endcode + + To configure VirtualBox: + + \list 1 + \li Start the VirtualBox user interface. + \li Select \b{File > Preferences} > \b{Network} to open VirtualBox + network settings. + \li Create a new network named \e{vboxnet0} and edit its properties: + + \list 1 + \li Change the IPv4 address to \c{192.168.56.1} and the IPv4 network + mask to \c{255.255.255.0}. + \li In the \b{DCHP Server} tab, select the \b{Enable Server} check + box. + \li Change the server address to \c{192.168.56.1}. + \li Change both the lower and upper address bounds to + \c{192.168.56.101}. + \endlist + \endlist + + If a firewall is enabled on the development host, it needs to + allow TCP and UDP packets between your host and the virtual + machine. + + \section1 3. Installing \SDK + + \list 1 + + \li Download the binary \SDK installer, and make sure it is executable + by using one of the following methods: + + \list + \li Enter the \c{chmod +x <filename>} command. + \li Right-click the file, and select \b{Properties} > + \b{Permissions} > \b{Allow executing file as program}. + \endlist + + \li Run the installer and follow its instructions. + + \endlist + + \note Do not execute the installer as root user or with sudo. + + The installer will let you select a directory where \SDK will be + installed. In this documentation, the installation directory is referred + to as \b{\c{<INSTALL_DIR>}}. The default installation directory is + \tt{~/Qt}. + + \target Installing Boot to Qt on Target Devices + \section1 4. Install \B2Q on Target Devices + + \e{If you target only the emulator, you can skip this step.} + + Before you can deploy and test your Qt application on hardware, you must + flash the target device with an image that contains the + \B2Q stack. The steps vary from device to device. Follow the instructions + specific to your device in \l {Preparing Hardware}. + + \section1 5. Setting up USB Access to Embedded Devices + + \e{If you target only the emulator, you can skip this step.} + + \include b2qt-post-install-setup.qdocinc setting up usb access + + \section1 6. Configuring a Device Kit in Qt Creator + + \include b2qt-post-install-setup.qdocinc configuring device kit android linux + + You are now ready to start developing for your device. + For more information, see \l{Building and Running an Example}. +*/ diff --git a/src/doc/src/qtee-licenses.qdoc b/src/doc/src/qtee-licenses.qdoc new file mode 100644 index 0000000..6728712 --- /dev/null +++ b/src/doc/src/qtee-licenses.qdoc @@ -0,0 +1,68 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ + +/*! + \page qtee-licenses.html + \title License Information + \previouspage qtee-troubleshooting.html + \nextpage qtee-qml-reference.html + + \section1 Licensing + + \SDK is licensed under the Qt Enterprise commercial license. For more information, + see \l {http://qt.digia.com/licensing}. Evaluation licenses are also available, + see \l {product page}{\SDK} on qt.digia.com. + + \section1 3rd Party Software Licenses + + The third-party licenses used in \SDK are listed in the file + \c {<INSTALL_DIR>/Licenses/ThirdPartySoftware_Listing.txt}. + + \section1 Embedded Android Images + + The embedded Android platform is built from the \e {Android Open Source Project}, + source code available at \l {http://android.googlesource.com/}. The open + source licenses and notices are collected into the file + \c {/etc/NOTICE.html.gz} in the target images. + + \section1 Embedded Linux Images + + The embedded Linux platform is built using tools from the \l {Yocto Project}. + The open source licenses and notices are located in + \list + \li \c /usr/share/common-licenses/license.manifest + \li \c /usr/share/licenses/* + \endlist + + \section1 Android GNU C++ Run-time Licensing + + The Android platform does not provide a full implementation of the C++ run-time. Instead, + apps that depend on features such as STL, exceptions, or RTTI, must include an additional + native run-time library that provides the features they need. + + \B2QA uses the GNU libstdc++ library distributed as part of the \e {Android Open Source Project}. + This library is included in the images for \B2QA, and will be loaded by the application + on start-up to meet the run-time requirements of Qt. + + The GNU C++ run-time is licensed under the + \l{http://gcc.gnu.org/onlinedocs/libstdc++/manual/appendix_gpl.html}{GNU General Public License version 3} with + an exception which grants permission for run-time linking and usage of the library by an application which + would otherwise violate the terms of the main license. For more information about this exception, see + \l{http://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html}{the official license page}. +*/ diff --git a/src/doc/src/qtee-qml-reference.qdoc b/src/doc/src/qtee-qml-reference.qdoc new file mode 100644 index 0000000..a1f4e4f --- /dev/null +++ b/src/doc/src/qtee-qml-reference.qdoc @@ -0,0 +1,34 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ + +/*! + \page qtee-qml-reference.html + \title Add-On QML Types + \previouspage qtee-licenses.html + + The following QML modules are included in the \B2Q stack and provide + additional QML types that are useful in an embedded application: + + \annotatedlist qtee-qmlmodules + + \section1 WiFi Module + + \annotatedlist wifi-qmltypes +*/ + diff --git a/src/doc/src/qtee-troubleshooting.qdoc b/src/doc/src/qtee-troubleshooting.qdoc new file mode 100644 index 0000000..0e730c6 --- /dev/null +++ b/src/doc/src/qtee-troubleshooting.qdoc @@ -0,0 +1,255 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ + +/*! + \page qtee-troubleshooting.html + \title Troubleshooting + \previouspage qtee-changelog.html + \nextpage qtee-licenses.html + + \note An updated version of this information may be available in Digia customer portal, + see \l {Known Issues} in \SDK \l {product page}. + + \section1 General Issues + + \section2 I have problems deploying/launching the application in Qt Creator + + Check that the device is properly connected to the development host via USB + or Ethernet (depending on the device). + See \l{Connectivity Issues}. + + If using the emulator, see \l{Installing VirtualBox}. + + \section2 I have problems deploying/launching a Qt or Qt Quick example application + + Because of a technical peculiarity in \c{qmake}, it is not + possible to get correct deployment setup for any application that + is placed inside a Qt source code tree. + + The workaround is to copy the example sources to a location + outside the Qt source tree, and open this copy of the example + application instead. + + \section2 I have problems launching or running applications on hardware after updating the SDK + + Remember to repeat the process of updating also your device with the latest + version of \B2Q. See \l{Installing Boot to Qt on Target Devices}. + + \section2 Booting BD-SL-i.MX6 stops with \e {6x_bootscript not found} error + + Check the U-Boot version number. It should start with either \c{2012} or \c{2013}. + If it is \c{2009.xx}, an upgrade of the bootloader is required. For more + information, see: + + \list + \li \l http://boundarydevices.com/6q_bootscript/ + \li \l http://boundarydevices.com/switching-u-boot-versions-on-i-mx6/ + \endlist + + \target nexus-factory-reset + \section2 How do I restore my Nexus 7 to factory settings? + + Go to \l{https://developers.google.com/android/nexus/images} and + download the correct file for your device. Unpack it, and then enter the + following commands: + + \badcode + <INSTALL_DIR>/Tools/b2qt/adb reboot bootloader + <INSTALL_DIR>/Tools/b2qt/fastboot -w update <image-file>.zip + \endcode + + \section2 How do I shut down the Nexus 7? + + If the \B2Q demo launcher is running, start the \b {Launcher + Settings} app, and select \b {Shut Down} to power off the device. + + Otherwise, make sure the Nexus 7 is connected to the development host, and run + the following command in a terminal: + \badcode + <INSTALL_DIR>/Tools/b2qt/adb shell reboot -p + \endcode + + If the device is in the fastboot mode, use the volume button to display the + \b {Power off} option and press the power button to power off the device. + + Alternatively, press and hold the power button for 10 + seconds. This will force a reboot. + + \section2 How do I get HDMI output working properly on BeagleBone Black? + + Depending on the HDMI monitor, the cable, and the build variant of + the BeagleBone Black device, it may not be able to drive an HDMI display in a + stable way; the image may disappear or stutter. These issues are not caused by + the \B2Q stack. + + More details and possible solutions can be found + \l {http://www.elinux.org/Beagleboard:BeagleBoneBlack_HDMI}{here}. + + \section2 Trying to build for the emulator target fails with error message \e{make: i686-android-linux-g++: Command not found} + + You need to install support libraries in order to run 32-bit programs in a + 64-bit Linux operating system. + + See \l{Installing 32-bit Support Libraries}. + + \section2 Something crashed! + + The following command shows the system log: + \badcode + <INSTALL_DIR>/Tools/b2qt/adb logcat + \endcode + + \note When terminating an application from Qt Creator, you may see the + message \e {Terminating application. Error running process: Process crashed}. + This is normal and does not indicate a problem in your code; a SIGTERM + signal is sent to the application, and Qt interprets it as a crash. + + \section2 Mouse or touch input does not work + + See \l{Customization}. + + \note Hotplugging does not currently work, and therefore, any input device + must be present at boot time to be recognized. + + \section2 Application stops with \e{EGLFS: OpenGL windows cannot be mixed with others.} + + OpenGL and Qt Quick 2 applications can only have one + fullscreen window existing at a time. Trying to create another + OpenGL window, or trying to mix an OpenGL window with a raster one + will display the above message and abort the application. + + \note For raster windows (software rendered content based on QWidget or + QPainter), there is no such limitation. + + \section2 I cannot edit the contents of appcontroller.conf on the device + + The file system where this file is located may be mounted as read-only. + + See \l{Customization}. + + \section2 C++11 features do not work on Android + + To enable C++11 features in the compiler, add \e{CONFIG += c++11} to the .pro file. + On Embedded Linux this will be enough because there the toolchain contains a more + recent version of gcc (4.8.x). On Embedded Android however the toolchain is based on + gcc 4.6. This offers limited support for C++11 and Qt's own C++11 support is disabled, + meaning that adding \e{c++11} to \e{CONFIG} will have no effect. There is still a + possibility however to manually enable some level of C++11 support just for the + application, by adding \e{QMAKE_CXXFLAGS += -std=c++11} to the .pro file. + + \section1 Connectivity Issues + \section2 I cannot connect to my hardware device via USB + + See \l{5. Setting up USB Access to Embedded Devices}. + + \section2 adb fails with "error: more than one device and emulator" + + You have to specify which Android device you want \c{adb} to talk + to, using adb's \c{-s <serial-number>} option. Use the following + command to find to see the serial number of the connected + devices: + + \badcode + <INSTALL_DIR>/Tools/b2qt/adb devices + \endcode + + \section2 The emulator cannot connect to the Internet + + By default, the VirtualBox is configured to use a host-only network, so external + connections do not work in the emulator. + + You may be able to enable Internet connectivity with another + virtual network adapter in NAT mode by adapting + \l{http://askubuntu.com/questions/293816/in-virtualbox-how-do-i-set-up-host-only-virtual-machines-that-can-access-the-in}{these} + instructions. + + \section2 The emulator is stuck in \e{Waiting for display data} or fails to start properly + + Check the output of the following command: + + \badcode + <INSTALL_DIR>/Tools/b2qt/adb devices + \endcode + + If the emulator (192.168.56.101) is not listed there, try connecting to it: + + \badcode + <INSTALL_DIR>/Tools/b2qt/adb connect 192.168.56.101 + \endcode + + If the emulator is already listed, try disconnecting it: + \badcode + <INSTALL_DIR>/Tools/b2qt/adb disconnect 192.168.56.101 + \endcode + + And then close the emulator and retry. + + \section2 What are the user and password to access my embedded Linux device? + + Embedded Linux devices can be accessed using user \c{root} and an empty password. + + \section2 No sound on Embedded Android devices + + When connecting a headphone or speakers while the device is running, the + audio may not be properly routed to the correct output. As a workaround, + connect the headphone or speakers before turning on the device. + + \section2 Qt WebEngine libraries cannot be found when targeting the emulator + + Qt WebEngine is not currently available for the emulators, neither eLinux + nor eAndroid. This is planned to be addressed in a later release. + + \section2 Widget-based web view is not available + + The Qt WebEngine APIs are available only for Qt Quick 2 based applications at the moment. + The QWidget-based equivalents, like QWebEngineView, will become supported in future releases. + For the time being, use the WebEngineView QML element. + + \section2 Qt Quick Compiler fails on the emulators + + The Qt Quick Compiler is not yet functional in the emulator environments, and projects + are likely fail to build or run with compilation enabled. Support for the emulators + will be added in a later release. + + \section2 QML debugging not functional when using Qt Quick Compiler + + QML debugging is not fully functional when the Qt Quick Compiler is enabled. Support + for this will be added in a later release. + + + \section2 Boundary Devices Android Jellybean i.MX6 image deploying issues + + On some hosts running the mksdcard.sh script results in the following failure messages: + + \badcode + Cannot find device with major:minor 8:20: No such device + cp: target ‘/media/BOOT/’ is not a directory + \endcode + + This means that flashing an sdcard has failed, even if the scripts seemingly runs to the end. + The issue can be worked around by adding "sleep" call before "udisks --mount" loop (search at + the end of the script): + + \badcode + sleep 2 + for n in 1 2 4 ; do + udisks --mount ${diskname}${prefix}${n} + done + \endcode +*/ diff --git a/src/doc/src/shared/b2qt-external-pages.qdoc b/src/doc/src/shared/b2qt-external-pages.qdoc new file mode 100644 index 0000000..d642fa2 --- /dev/null +++ b/src/doc/src/shared/b2qt-external-pages.qdoc @@ -0,0 +1,63 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ + +/*! + \externalpage http://qt.digia.com/Product/Qt-Enterprise-Embedded/Supported-Modules-and-Known-Issues/ + \title Known Issues +*/ + +/*! + \externalpage http://qt.digia.com/Product/Qt-Enterprise-Embedded/ + \title product page +*/ + +/*! + \externalpage https://qtcloudservices.com/products/enginio-data-storage/ + \title Enginio Data Storage +*/ + +/*! + \externalpage http://qt.digia.com/Product/Qt-Enterprise/Advanced-Data-Visualization/ + \title Qt Data Visualization +*/ + +/*! + \externalpage http://qt.digia.com/Product/Qt-Enterprise/Qt-Quick-Enterprise-Controls/ + \title Qt Quick Enterprise Controls +*/ + +/*! + \externalpage http://qt.digia.com/Product/Qt-Enterprise/Qt-Virtual-Keyboard/ + \title Qt Virtual Keyboard +*/ + +/*! + \externalpage http://qt.digia.com/Product/Qt-Enterprise/Charts/ + \title Qt Charts +*/ + +/*! + \externalpage http://qt.digia.com/Product/Qt-Enterprise/Qt-Quick-Compiler/ + \title Qt Quick Compiler +*/ + +/*! + \externalpage https://www.yoctoproject.org/ + \title Yocto Project +*/ diff --git a/src/doc/src/shared/b2qt-post-install-setup.qdocinc b/src/doc/src/shared/b2qt-post-install-setup.qdocinc new file mode 100644 index 0000000..0bd96dd --- /dev/null +++ b/src/doc/src/shared/b2qt-post-install-setup.qdocinc @@ -0,0 +1,132 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ +/*! +//! [setting up usb access] + On Ubuntu Linux, the development user account must have access to plugged in + devices. To allow the development user access to the device via USB, create + a new \e{udev} rule: + + \list 1 + + \li Run the following command in a shell: + + \badcode + echo 'SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", TAG+="udev-acl", TAG+="uaccess"' | sudo tee -a /etc/udev/rules.d/70-boot2qt.rules + \endcode + + \li Connect the running device to the development host with a USB + cable. If the device is already connected, disconnect and reconnect the USB + cable after running the command above. + + \li On \B2QA, you can confirm that the connection is working by running + the following shell command: + + \code + <INSTALL_DIR>/Tools/b2qt/adb devices + \endcode + + The output should be a list of connected Android devices, + identified with a serial number and a name. If your device is missing from + the list, or the serial number is \c{??????}, the connection is + not working properly. Check that the device is powered on, and disconnect + and reconnect the USB cable. + + The emulator may be listed as well. Its serial number is its IP and the port + number: \c{192.168.56.101:5555}. + \endlist + + The system log files \c{/var/log/udev} and \c{/var/log/syslog} may + provide relevant information in case of connection problems. +//! [setting up usb access] + +//! [configuring device kit] +//! [common config device kit] + After you have prepared the hardware, you must perform one final step + to set up the development tools in Qt Creator for your device. That is, + you must configure the correct device to be used for each build and run + \e{kit}. Connect your device to the development host via USB and launch + Qt Creator. In Qt Creator: + +//! [common config device kit] +//! [steps for device kit] + \list 1 + \li Select \b{Tools > Options > Build & Run > Kits}. + \li Select one of the predefined kits starting with \e{Boot to Qt...} + that matches the type of your device. + \li Select the correct device in the \b{Device} field. + \li Select \b{OK}. + \endlist +//! [steps for device kit] +//! [configuring device kit] + +//! [android steps for dev kit] + \list 1 + \li Select \b{Tools > Options > Build & Run > Kits}. + \li Select the kit with the correct Android version + (for example, \e {generic-4.2}). + \li Select the correct device in the \b{Device} field. + \li Select \b{OK}. + \endlist + + If you have more than one development device that use the same Android + version, clone the \e generic kit and rename it after the physical device: + + \list 1 + \li Select the generic Android kit and then \b Clone. + \li Select the correct device in the \b{Device} field. + \li Edit the name of the cloned kit and press \b OK. + \endlist +//! [android steps for dev kit] + +//! [configuring network device] + After you have prepared the hardware, you must set up the development tools + in Qt Creator for your device. Connect your device to the network via an + Ethernet cable and launch Qt Creator. In Qt Creator: + + \list 1 + \li Select \b{Tools > Options > Devices > Add}. + \li Select \b{Boot2Qt Device} > \b{Start Wizard}. + \li Enter the device name and network address. You can check the device + address in the \e{Launcher Settings} when the device is running the + \B2Q demo. + \li Select \b{Finish}. + \endlist + + You also have to configure the correct device to be used for each build and + run \e{kit}: + + \include b2qt-post-install-setup.qdocinc steps for device kit + +//! [configuring network device] + +//! [configuring device kit android] + \include b2qt-post-install-setup.qdocinc common config device kit + \include b2qt-post-install-setup.qdocinc android steps for dev kit +//! [configuring device kit android] + +//! [configuring device kit android linux] + \include b2qt-post-install-setup.qdocinc common config device kit + \list + \li \b{\B2QL} + \include b2qt-post-install-setup.qdocinc steps for device kit + \li \b{\B2QA} + \include b2qt-post-install-setup.qdocinc android steps for dev kit + \endlist +//! [configuring device kit android linux] +*/ diff --git a/src/doc/src/shared/detect-sd-card-device-name.qdocinc b/src/doc/src/shared/detect-sd-card-device-name.qdocinc new file mode 100644 index 0000000..b74947d --- /dev/null +++ b/src/doc/src/shared/detect-sd-card-device-name.qdocinc @@ -0,0 +1,45 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** 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://qt.digia.com/ +** +****************************************************************************/ +/*! +//! [instructions] + Plug in the SD card or reader to the development host, + and use the following command to find out its device name: + + \badcode + lsblk -d + \endcode + + Removable devices such as SD cards have the value '1' in + the \e RM column. + + \warning Make sure to select the correct device, because selecting + the wrong one can result in a wiped hard drive. + + Typical device names for SD cards include \c {sdb} and + \c {mmcblk0}. The full device path is \c {/dev/} followed by + the name. +//! [instructions] + +//! [unmount] + \badcode + umount /dev/<device_name> + \endcode +//! [unmount] + +*/ |