summaryrefslogtreecommitdiffstats
path: root/src/doc/src/b2qt.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'src/doc/src/b2qt.qdoc')
-rw-r--r--src/doc/src/b2qt.qdoc1169
1 files changed, 823 insertions, 346 deletions
diff --git a/src/doc/src/b2qt.qdoc b/src/doc/src/b2qt.qdoc
index 8969292..6f2d44c 100644
--- a/src/doc/src/b2qt.qdoc
+++ b/src/doc/src/b2qt.qdoc
@@ -1,25 +1,36 @@
/****************************************************************************
**
-** Copyright (c) 2013 Digia Plc and/or its subsidiary(-ies).
+** Copyright (C) 2014 Digia Plc
+** All rights reserved.
+** For any questions to Digia, please use the contact form at
+** http://qt.digia.com/
**
-** Qt and Qt logos are trademarks of of Digia Corporation in Finland and/or
-** other countries worldwide. All other trademarks are property of their
-** respective owners.
+** 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.
**
-** Licensees holding valid Qt Commercial licenses may use this document in
-** accordance with the Qt Commercial 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}{Boot to Qt}
+ \contentspage{index.html}{Qt Enterprise Embedded}
\page index.html
- \nextpage b2qt-installation-guide.html
- \title Boot to Qt Introduction
+ \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!}
@@ -27,50 +38,86 @@
\section1 Contents
\list
- \li \b {\l{Installation Guide}}
- \li \b {\l{Preparing Hardware}}
+ \li \l{About Qt Enterprise Embedded}
+ \li \l{Installation Guide}
+ \li \l{Supported Platforms}
+ \li \l{Preparing Hardware}
\list
- \li \l{Preparing Nexus 7}{Nexus 7 (embedded Android)}
- \li \l{Preparing Sabre Lite i.MX 6}{Sabre Lite i.MX 6 (embedded Android)}
- \li \l{Preparing BeagleBoard-xM}{BeagleBoard-xM (embedded Android and Linux)}
+ \li \l{Preparing Nexus 7}{Nexus 7 (2012) (embedded Android)}
+ \li \l{Preparing Sabre Lite i.MX 6}{Sabre Lite i.MX 6 (embedded Android and 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 \b {\l{Building and Running an Example}}
- \li \b {\l{Customization}}
- \li \b {\l{Supported Platforms}}
- \li \b {\l{Troubleshooting}}
+ \li \l{Building and Running an Example}
+ \li \l{Customization}
+ \li \l{ChangeLog}
+ \li \l{Troubleshooting}
+ \li \l{License Information}
\endlist
+*/
+/*!
+ \contentspage{index.html}{Qt Enterprise Embedded}
+ \page qtee-overview.html
+ \previouspage index.html
+ \nextpage qtee-installation-guide.html
- \section1 What is \B2Q?
+ \title About Qt Enterprise Embedded
- \b{\B2Q} is a light-weight UI stack for embedded systems, based on the
- \l{http://qt.digia.com/}{Qt Framework} by Digia, offering an elegant
- means of developing beautiful and performant embedded devices. It supports
- two different operating systems:
+ \SDK has two main parts:
\list
- \li \b{\B2QA} places Qt on top of an Android (version 4.0 or 4.1)
- kernel/baselayer.
+ \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
- \li \b{\B2QL} places Qt on top of an Linux kernel/baselayer, built
- using Yocto 1.4 'Dylan' release.
+ \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.5
+ \e Dora 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.
- \B2Q SDK provides a complete software development package for
- creating applications on embedded devices. It comes with
- the Qt Creator IDE with preconfigured build targets for hardware
- platforms as well as an \l{Emulator}{emulator}.
-
-
\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.
+ for desktop, embedded, and mobile platforms.
\list
\li \b{Qt Framework} - intuitive APIs for C++
@@ -84,8 +131,8 @@
\endlist
With Qt, you can reuse code efficiently to target multiple platforms
- with one code base. The modular C++ class library and developer tools
- enables developers to create applications for one platform and easily
+ 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.
@@ -93,7 +140,7 @@
\image b2qt-vs-qt-for-android.png
- \b{Qt for Android} is a port of the Qt Framework to be used for application
+ \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.
@@ -101,42 +148,44 @@
\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{SurfaceFlinger} or \e{DalvikVM} is not running in \B2Q,
+ \e{Dalvik virtual machine} is not running in \B2Q,
resulting in faster startup times, lower memory consumption and
overall better performance.
-
- \b{\B2QL} is build from scratch using Yocto 1.4 tools
- to contain only components required in the embedded device, resulting
- in smaller image sizes while keeping valuable development tools available.
*/
/*!
- \page b2qt-installation-guide.html
+ \page qtee-installation-guide.html
\title Installation Guide
- \previouspage index.html
- \nextpage b2qt-preparing-hardware.html
+ \previouspage qtee-overview.html
+ \nextpage qtee-supported-platforms.html
- \e{IMPORTANT: The \B2Q SDK requires the following installation steps to be followed closely.}
+ 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{http://qt.digia.com/en/Product/Boot-to-Qt/Boot-to-Qt-Known-Issues/}
- {Boot to Qt Known Issues} page.
+ \l {Known Issues} in \SDK \l {product page}.
\target Requirements for Development Host
- \section1 0. Requirements for Development Host
+ \section1 Requirements for Development Host
- A 64-bit Linux system is required to install and use \B2Q
- 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.
+ 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 \B2Q are 32-bit programs, and they
- require that support libraries for running 32-bit code are present
- in the system. To install the required packages in Ubuntu, use the
- following command in a terminal:
+ 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:
+
+ \code
+ sudo apt-get install g++-multilib zlib1g:i386
+ \endcode
+
+ For older Ubuntu versions such as 12.04, instead do:
\code
sudo apt-get install g++-multilib ia32-libs
@@ -145,67 +194,83 @@
\target Installing VirtualBox
\section1 2. Installing VirtualBox
- The emulator in \B2Q relies on VirtualBox virtualization software. You can
+ 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 from the command line with the following command:
+ 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:
\code
- sudo apt-get install virtualbox
+ 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
- \b{Configuring VirtualBox}
+ Now install VirtualBox on your computer
+ \code
+ sudo apt-get install virtualbox-4.3
+ \endcode
- Open VirtualBox network settings: Select \b{File > Preferences...}
- and click on the \b{Network} tab. Create a new network named
- \e{vboxnet0} and edit its properties:
+ To configure VirtualBox:
- \list
- \li Change IPv4 address to 192.168.56.1 and IPv4 network mask to 255.255.255.0.
- \li Check \b{Enable Server} in \b{DCHP Server} tab.
- \li Change server address to 192.168.56.1.
- \li Change both the lower and upper address bounds to 192.168.56.101.
+ \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
- \section1 3. Installing the \B2Q SDK
+ If a firewall is enabled on the development host, it needs to
+ allow TCP and UDP packets between your host and the virtual
+ machine.
- If you have not already installed the \B2Q SDK, do it as follows.
+ \section1 3. Installing \SDK
- After downloading the \B2Q SDK binary installer (the file named
- something like \c{Boot2QtSDK-evaluation-64bit-2013xxxxxx}),
- make sure it is executable either by
+ \list 1
+
+ \li Download the binary \SDK installer, and make sure it is executable
+ by using one of the following methods:
\list
- \li Using \c{chmod +x <filename>} command, or
- \li Right-clicking on the file, selecting \b{Properties}, and checking
- \b{Allow executing file as program} on the \b{Permissions} tab.
+ \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
- Run the installer and follow its instructions.
+ \li Run the installer and follow its instructions.
+
+ \endlist
- The installer will let you select a directory where the entire,
- self-contained \B2Q SDK will be installed. In the rest of this
- documentation, that directory is referred to as
- \c{<SDK_INSTALL_DIR>}. By default, it is
- \tt{/home/\e{yourusername}/Boot2QtSDK}.
+ 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 targeting only the emulator, this step may be skipped}
+ \e{If you target only the emulator, you can skip this step.}
- Before deploying and testing your Qt application on hardware, the
- target device needs to be flashed with an image that contains the
- \B2Q stack. These steps vary from device to device. See the
- following chapter and follow the instructions specific to
- your device.
-
- \list
- \li \l {Preparing Hardware}
- \endlist
+ 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 targeting only the emulator, this step may be skipped}
+ \e{If you target only the emulator, you can skip this step.}
\include b2qt-post-install-setup.qdocinc setting up usb access
@@ -213,130 +278,138 @@
\include b2qt-post-install-setup.qdocinc configuring device kit
- \b {You are now ready to start developing for your device!}
-
- See \l{Building and Running an Example}
+ You are now ready to start developing for your device.
+ For more information, see \l{Building and Running an Example}.
*/
/*!
- \page b2qt-preparing-hardware.html
+ \page qtee-preparing-hardware.html
\title Preparing Hardware
- \previouspage b2qt-installation-guide.html
- \nextpage b2qt-building-and-running.html
+ \previouspage qtee-supported-platforms.html
+ \nextpage qtee-building-and-running.html
- Before deploying and testing your Qt application on hardware, the
- target device needs to be flashed with an image that contains the
+ 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 (embedded Android)}
- \li \l{Sabre Lite i.MX 6 (embedded Android)}
- \li \l{BeagleBoard-xM (embedded Android and Linux)}
+ \li \l{Nexus 7 (2012) (embedded Android)}
+ \li \l{Sabre Lite i.MX 6 (embedded Android and 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 are only using the emulator, you can skip this step
+ If you use only the emulator, you can skip this step
and continue straight to \l {Building and Running an Example}.
*/
/*!
- \target Nexus 7 (embedded Android)
- \page b2qt-preparing-hardware-nexus-7.html
+ \target Nexus 7 (2012) (embedded Android)
+ \page qtee-preparing-hardware-nexus-7.html
\title Preparing Nexus 7
- \previouspage b2qt-installation-guide.html
- \nextpage b2qt-building-and-running.html
+ \previouspage qtee-installation-guide.html
+ \nextpage qtee-building-and-running.html
- When using a \l{http://www.google.com/nexus/7/specs/}{Nexus 7} as a
- development device, following steps are required to prepare it for
+ Take the following steps to prepare a
+ \l{http://www.google.com/nexus/7/specs/}{Nexus 7 (2012)} for
\B2Q.
\section1 Unlocking Nexus 7 Bootloader
- The Nexus 7 Bootloader has to be unlocked to allow custom software
- to be installed. This has to be done only once.
+ You must unlock the Nexus 7 Bootloader to be able to install custom
+ software. You need to do this only once.
\list 1
- \li Power down the device.
- \li Connect it to the development host with a USB cable.
- \li Start the Nexus up in \e{fastboot} mode: Press the power button for a second, and then keep the Volume Down key pressed, until you see a screen with a green robot with its front panel open. Note: If you get the ordinary startup screen instead, just power it down and try again.
- \li On the development host, give the command
+ \li Power off the device.
+ \li Connect the device to the development host with a USB cable.
+ \li To start the Nexus up in \e{fastboot} mode, press the power button
+ for a second, and then keep the \b {Volume Down} key pressed down,
+ until you see a screen with a green robot with its front panel open.
+ \note If the ordinary startup screen appears instead, power off the
+ device and try again.
+ \li On the development host, enter the following command:
\code
- sudo <SDK_INSTALL_DIR>/Tools/b2qt/fastboot oem unlock
+ sudo <INSTALL_DIR>/Tools/b2qt/fastboot oem unlock
\endcode
- The Nexus screen will ask if you want to unlock the bootloader. Press power button to confirm.
+ \li Press the power button to confirm that you want to unlock the
+ bootloader when the prompt appears on the Nexus screen.
\li Wait a few seconds, and check that the text line stating the \c{LOCK STATE} now says \c{UNLOCKED}.
\endlist
\section1 Updating a Nexus 7 with \B2Q Images
- \note \b{It is important that the steps in this section are repeated
- every time after updating the \B2Q SDK.}
+ \note It is important that you repeat the steps in this section after you
+ update \SDK.
- An unlocked Nexus 7 device can now be updated with a \B2Q image.
+ To update an unlocked Nexus 7 device with a \B2Q image:
- To do so, first make sure that the device is in \e{fastboot} mode
- (see above), and connected to the development host via USB.
+ \list 1
+ \li Make sure that the device is in \e{fastboot} mode and that it is
+ connected to the development host via USB.
- Then, re-flash the \e{boot}, \e{system}, and \e{userdata} partitions on the
- device, using the following commands in the order they are listed:
+ \li Re-flash the \e{boot}, \e{system}, and \e{userdata} partitions on the
+ device, by entering the following commands in the following order:
\code
- cd <SDK_INSTALL_DIR>
- sudo ./Tools/b2qt/fastboot flash boot Boot2Qt-1.0/nexus7-eAndroid/images/boot.img
- sudo ./Tools/b2qt/fastboot flash system Boot2Qt-1.0/nexus7-eAndroid/images/system.img
- sudo ./Tools/b2qt/fastboot flash userdata Boot2Qt-1.0/nexus7-eAndroid/images/data.img
+ cd <INSTALL_DIR>
+ sudo ./Tools/b2qt/fastboot flash boot Boot2Qt-2.x/nexus7-eAndroid/images/boot.img
+ sudo ./Tools/b2qt/fastboot flash system Boot2Qt-2.x/nexus7-eAndroid/images/system.img
+ sudo ./Tools/b2qt/fastboot flash userdata Boot2Qt-2.x/nexus7-eAndroid/images/data.img
\endcode
- Once the flashing is completed successfully, reboot the device:
+ \li Once the flashing is completed successfully, reboot the device:
\code
sudo ./Tools/b2qt/fastboot reboot
\endcode
- \note Until the next step is performed, the Nexus 7 will not
- boot correctly (the screen will only show the "Google" logo).
-
- \section1 Installing Proprietary Drivers
-
- Download the proprietary drivers for your Nexus 7
- \l{https://developers.google.com/android/nexus/drivers#grouperjdq39}{here}.
+ \endlist
- \note Make sure you have read the license terms at the beginning of the
- driver download page.
+ \note You must install proprietary drivers for the Nexus 7 to boot
+ correctly. Until then, the screen will only show the "Google" logo,
+ instead of the \B2Q welcome screen or demo.
- Select the links in the \b{Graphics}, \b{Camera, Sensors, DRM} and \b{Orientation Sensor} rows from the table
- \e{"Nexus 7 (Wi-Fi) binaries for Android 4.2.2"}, download and save the files
- to the installation directory of the \B2Q SDK.
+ \section1 Installing Proprietary Drivers
- \note Only the version "Android 4.2.2 (JDQ39 to JDQ39E)" will work with the current Boot to Qt image.
+ Download the proprietary drivers for your Nexus 7. The following script downloads the third
+ party drivers from \l{https://developers.google.com/android/nexus/drivers#grouperjdq39}
+ {https://developers.google.com/android/nexus/drivers#grouperjdq39}
+ \code
+ cd <INSTALL_DIR>
+ ./Boot2Qt-2.x/nexus7-eAndroid/images/download.sh
+ \endcode
- Make sure your Nexus 7 is powered up, is \e{not} in fastboot mode,
- and is connected to the computer via USB.
+ \note Only the version "Android 4.2.2 (JDQ39 to JDQ39E)" works with the
+ current \B2Q image.
- Then, follow these steps to update the Nexus 7:
+ To install the drivers to Nexus 7:
\list 1
- \li Extract the downloaded files, and run the extracted installers. For example,
+ \li Power on the device and connect it to the development host via USB.
+ Also check that the device is \e{not} in fastboot mode.
+ \li Run the driver extractors:
\code
- cd <SDK_INSTALL_DIR>
- tar xf nvidia-grouper-jdq39-738059f9.tgz
+ cd Boot2Qt-2.x/nexus7-eAndroid/images/drivers
./extract-nvidia-grouper.sh
- tar xf asus-grouper-jdq39-b6907aa5.tgz
./extract-asus-grouper.sh
- tar xf invensense-grouper-jdq39-28df082f.tgz
./extract-invensense-grouper.sh
+ cd -
\endcode
+ \note Carefully read the license terms enclosed in each individual
+ extractor.
\li Find out the serial number of the connected Nexus 7 device:
\code
- <SDK_INSTALL_DIR>/Tools/b2qt/adb devices
+ ./Tools/b2qt/adb devices
\endcode
- \li Deploy the drivers to your device using the following command:
+ \li Deploy the drivers to your device:
\code
- <SDK_INSTALL_DIR>/Boot2Qt-1.0/nexus7-eAndroid/images/deploy.sh <serial_number>
+ ./Boot2Qt-2.x/nexus7-eAndroid/images/deploy.sh <serial_number>
\endcode
\endlist
- After the installation is complete, power up the device and confirm that it shows
- a \B2Q welcome screen and/or demo.
+ After the installation is complete, power on the device and check that
+ the \B2Q welcome screen and/or demo appear.
\section1 Setting up USB Access
@@ -346,80 +419,132 @@
\include b2qt-post-install-setup.qdocinc configuring device kit
- \b {You are now ready to start developing for your device!}
-
- See \l{Building and Running an Example}
+ You are now ready to start developing for your device. For more information,
+ see \l{Building and Running an Example}.
*/
/*!
- \target BeagleBoard-xM (embedded Android and Linux)
- \page b2qt-preparing-hardware-beagleboard.html
+ \target BeagleBoard-xM (embedded Linux)
+ \page qtee-preparing-hardware-beagleboard.html
\title Preparing BeagleBoard-xM
- \previouspage b2qt-installation-guide.html
- \nextpage b2qt-building-and-running.html
+ \previouspage qtee-installation-guide.html
+ \nextpage qtee-building-and-running.html
- When using a \l{http://beagleboard.org/hardware-xM}{BeagleBoard-xM} as a
- development device, following steps are required to prepare it for
+ Take the following steps to prepare a \l{http://beagleboard.org/hardware-xM}
+ {BeagleBoard-xM} for
\B2Q.
- \note \b{It is important that the steps in this section are repeated
- every time after updating the \B2Q SDK.}
+ \note It is important that you repeat the steps in this section after you
+ update \SDK.
- The images containing \B2Q stack for BeagleBoard-xM is included in the SDK,
- ready to be copied to a micro-SD card.
+ The image containing \B2Q stack for BeagleBoard-xM are included in \SDK,
+ ready to be copied to an SD card.
- \section1 Preparing a Micro-SD Card
+ \section1 Preparing an SD Card
- For \B2QA, a micro-SD card of at least 2GB capacity is needed. For \B2QL,
- a card of at least 512MB capacity is sufficient.
+ An SD card of at least 512 MB capacity is needed.
- Plug the micro-SD card/reader into the development host PC and use
- the following command to find out its device path
- (i.e. \c{/dev/XXX}, where \c{XXX} typically is \c{sdb}):
+ \include detect-sd-card-device-name.qdocinc instructions
- \code
- df -h
- \endcode
+ \section1 Installing the \B2Q Image
- Alternatively, if the micro-SD card is unformatted, run the following
- command immediately after inserting the card to see its device
- path:
+ To write the image to the SD card:
\code
- dmesg | tail
+ cd <INSTALL_DIR>
+ sudo Boot2Qt-2.x/beagleboard-eLinux/images/deploy.sh /dev/<device_name>
\endcode
- Now make sure the micro-SD card is not mounted:
+ After the image has been deployed, power on the device and check that
+ the \B2Q welcome screen and/or demo appear.
- \code
- umount /dev/XXX
- \endcode
+ \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 Sabre Lite i.MX 6 (embedded Android and Linux)
+ \page qtee-preparing-hardware-imx6.html
+ \title Preparing Sabre Lite i.MX 6
+ \previouspage qtee-installation-guide.html
+
+ Take the following steps to prepare a
+ \l{http://boundarydevices.com/products/sabre-lite-imx6-sbc/}{Sabre
+ Lite i.MX 6} 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 Lite i.MX 6 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:
+ \code
+ ~/$ mkdir bd-android
+ ~/$ cd bd-android
+ ~/bd-android$ tar zxvf ~/Downloads/imx6-jb-20130628.tar.gz
+ \endcode
+ \li Run device/boundary/mksdcard.sh:
+ \code
+ ~/bd-android$ sudo device/boundary/mksdcard.sh /dev/<device_name>
+ ~/bd-android$ sync
+ \endcode
+ \endlist
\section1 Installing the \B2Q Image
- The commands used in this step vary depending on whether you are developing
- for \B2QA or embedded Linux.
+ Make sure you have the required tools installed in your development machine:
+
+ \code
+ sudo apt-get install u-boot-tools
+ \endcode
- Write the image to the micro-SD card:
+ Then, upgrade the SD card with \B2Q. Use one of the commands below,
+ depending on whether you are developing for embedded Android or Linux:
\list
\li \b{\B2QA}
\code
- cd <SDK_INSTALL_DIR>
- sudo dd if=Boot2Qt-1.0/beagleboard-eAndroid/images/sdcard.img of=/dev/XXX bs=1M
+ cd <INSTALL_DIR>
+ ./Boot2Qt-2.x/iMX6-eAndroid/images/deploy.sh /dev/<device_name>
\endcode
\li \b{\B2QL}
\code
- cd <SDK_INSTALL_DIR>
- Boot2Qt-1.0/beagleboard-eLinux/images/deploy.sh /dev/XXX
+ cd <INSTALL_DIR>
+ sudo ./Boot2Qt-2.x/iMX6-eLinux/images/deploy.sh /dev/<device_name>
\endcode
\endlist
- \warning \b{Make very sure you select the right device. Selecting the wrong
- one can result in a wiped hard drive}.
-
- After the image has been deployed, power up the device and confirm that it shows
- a \B2Q welcome screen and/or demo.
+ 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
@@ -429,103 +554,123 @@
\include b2qt-post-install-setup.qdocinc configuring device kit
- \b {You are now ready to start developing for your device!}
-
- See \l{Building and Running an Example}
+ You are now ready to start developing for your device. For more information,
+ see \l{Building and Running an Example}.
*/
/*!
- \target Sabre Lite i.MX 6 (embedded Android)
- \page b2qt-preparing-hardware-imx6.html
- \title Preparing Sabre Lite i.MX 6
- \previouspage b2qt-installation-guide.html
+ \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.
- When using a
- \l{http://boundarydevices.com/products/sabre-lite-imx6-sbc/}{Sabre
- Lite i.MX 6} as a development device, following steps are required
- to prepare it for \B2QA.
+ \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 \b{It is important that the steps in this section are repeated
- every time after updating the \B2Q SDK.}
+ \note It is important that you repeat the steps in this section after you
+ update \SDK.
- The images containing \B2Q stack for Sabre Lite i.MX 6 is included in the SDK,
- ready to be copied to a micro-SD card.
+ The image containing \B2Q stack for Raspberry Pi is included in the SDK,
+ ready to be copied to an SD card.
- \section1 Preparing a Micro-SD Card
+ \section1 Preparing an SD Card
- For \B2QA, a micro-SD card of at least 4GB capacity is needed.
+ An SD card of at least 512 MB capacity is sufficient.
- Plug the micro-SD card/reader into the development host PC and use
- the following command to find out its device path
- (i.e. \c{/dev/XXX}, where \c{XXX} typically is \c{sdb}):
+ \include detect-sd-card-device-name.qdocinc instructions
- \code
- df -h
- \endcode
+ \section1 Installing the \B2Q Image
- Alternatively, if the micro-SD card is unformatted, run the following
- command immediately after inserting the card to see its device
- path:
+ To write the image to the SD card:
\code
- dmesg | tail
+ cd <INSTALL_DIR>
+ sudo Boot2Qt-2.x/raspberrypi-eLinux/images/deploy.sh /dev/<device_name>
\endcode
- Next, make sure the micro-SD card is not mounted:
+ 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.
- \code
- umount /dev/XXX
- \endcode
+ \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
- 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).
+ \e{If installing} \B2QL, \e{you can skip this step and proceed to}
+ \l{Installing the Boot to Qt Image}.
- Use the following commands to create a micro-SD card containing the
- dowloaded 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).
- \list
- \li Extract the downloaded package
+ Use the following commands to create an SD card containing the
+ downloaded image:
+
+ \list 1
+ \li Extract the downloaded package:
\code
- ~/$ mkdir bd-android
- ~/$ cd bd-android
- ~/bd-android$ sudo tar zxvf ~/Downloads/imx6-jb-20130628.tar.gz
+ ~$ tar zxvf ~/Downloads/TI_Android_JB_4.2.2_DevKit_4.1.1_beagleboneblack.tar.gz
\endcode
- \li Run device/boundary/mksdcard.sh:
+ \li Run beagleboneblack/mkmmc-android.sh:
\code
- ~/bd-android$ sudo umount /media/*
- ~/bd-android$ sudo device/boundary/mksdcard.sh /dev/XXX
- ~/bd-android$ sync
+ ~$ cd beagleboneblack
+ ~/beagleboneblack$ sudo ./mkmmc-android.sh /dev/<device_name>
\endcode
\endlist
- Make sure to replace the device path (\c{"/dev/XXX"}) with your micro-SD
- card's device path that was found in the previous step.
-
- \warning \b{Make very sure you select the right device. Selecting the wrong
- one can result in a wiped hard drive.}
-
- \section1 Installing the \B2QA Image
-
- Make sure you have the required tools installed in your development machine:
-
- \code
- sudo apt-get install u-boot-tools
- \endcode
-
- Then, upgrade the micro-SD Card with \B2QA:
+ \section1 Installing the \B2Q Image
- \code
- <SDK_INSTALL_DIR>/Boot2Qt-1.0/iMX6-eAndroid/images/deploy.sh /dev/XXX
- \endcode
+ Then, upgrade the SD card with \B2Q. Use one of the commands below,
+ depending on whether you are developing for embedded Android or Linux:
- \warning \b{Make very sure you select the right device. Selecting the wrong
- one can result in a wiped hard drive}.
+ \list
+ \li \b{\B2QA}
+ \code
+ cd <INSTALL_DIR>
+ ./Boot2Qt-2.x/beaglebone-eAndroid/images/deploy.sh /dev/<device_name>
+ \endcode
+ \li \b{\B2QL}
+ \code
+ cd <INSTALL_DIR>
+ sudo ./Boot2Qt-2.x/beaglebone-eLinux/images/deploy.sh /dev/<device_name>
+ \endcode
+ \endlist
- After the installation is complete, power up the device and confirm that it shows
- a \B2Q welcome screen and/or demo.
+ 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
@@ -535,30 +680,28 @@
\include b2qt-post-install-setup.qdocinc configuring device kit
- \b {You are now ready to start developing for your device!}
-
- See \l{Building and Running an Example}
+ You are now ready to start developing for your device. For more information,
+ see \l{Building and Running an Example}.
*/
/*!
- \page b2qt-building-and-running.html
+ \page qtee-building-and-running.html
\title Building and Running an Example
- \previouspage b2qt-installation-guide.html
- \nextpage b2qt-customization.html
-
- Once the installation and configuration steps for the SDK and the
- target device(s) are completed, it's time to test the setup.
-
- First, make sure your device is powered up and connected to the
- development host via USB.
+ \previouspage qtee-preparing-hardware.html
+ \nextpage qtee-customization.html
- Then, follow these steps to create and run a simple \l{Qt Quick}
- application on the device:
+ 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 Open \b{File > New File or Project}, select
- \b{Qt Quick 2 Application (Built-in Types)} and click \b{Next}.
- \li In \b{Kit Selection} dialog, select the kit(s) for your
+ \li Make sure that your device is powered on and connected to the
+ development host.
+ \li In Qt Creator, select \b{File > 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.0}.
+ \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.
@@ -566,13 +709,51 @@
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 > 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 may
+ need some changes.
+
+ As a general rule, application binaries and resources (such as QML files and
+ images) 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.
+
+ For example, change the following \c target.path value:
+
+ \code
+ target.path = ...
+ INSTALLS += target
+ \endcode
+
+ to:
+
+ \code
+ target.path = /data/user/qt/<APPLICATION_NAME>
+ INSTALLS += target
+ \endcode
*/
/*!
- \page b2qt-customization.html
+ \page qtee-customization.html
\title Customization
- \previouspage b2qt-building-and-running.html
- \nextpage b2qt-supported-platforms.html
+ \previouspage qtee-building-and-running.html
+ \nextpage qtee-changelog.html
\section1 Environment and Input
@@ -581,16 +762,15 @@
{/system/bin/appcontroller.conf} in embedded Android devices and
in \c{/etc/appcontroller.conf} in embedded Linux devices.
- This file can be customized if targeting a hardware device that
- has different input devices than what the \B2Q stack is configured
+ 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.
- Note that on some devices, the root file system (where this file
- resides) is mounted read-only at boot time. It needs to be
- remounted read-write to allow modification. The following command
- does that:
+ 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:
\code
- <SDK_INSTALL_DIR>/Tools/b2qt/adb remount
+ <INSTALL_DIR>/Tools/b2qt/adb remount
\endcode
In the \c{appcontroller.conf} file, the input devices are
@@ -599,25 +779,35 @@
env=QT_QPA_GENERIC_PLUGINS=evdevtouch:/dev/input/event0
\endcode
- The mouse pointer can be turned on and off by removing or adding this line:
- \code
- env=QT_QPA_EGLFS_HIDECURSOR=1
- \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 i.MX6 Sabre Lite, the touchscreen device is
+ specified explicitly in \c QT_QPA_GENERIC_PLUGINS. 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 instead
- of the \B2Q demo launcher on boot. To prevent this behavior you have to remove
- this step from the build steps of your project's run configuration.
+ 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 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:
+ To remove your application from the default startup, use the following
+ command:
\code
- <SDK_INSTALL_DIR>/Tools/b2qt/adb shell appcontroller --remove-default
+ <INSTALL_DIR>/Tools/b2qt/adb shell appcontroller --remove-default
\endcode
\section1 Switching Between Portrait and Landscape Views
- Depending on a device screen dimensions and application requirements it might be desirable
+ 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.
@@ -651,62 +841,293 @@
}
}
\endcode
+
+ \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 Building Your Own Embedded Linux Image
+
+ \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 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:
+ \code
+ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath libsdl1.2-dev xterm
+ \endcode
+ \endlist
+
+ \section2 Setting Up Yocto Build Environment
+
+ Run the setup script that initializes the Yocto environment:
+
+ \code
+ cd <your/yocto/build/directory>
+ <INSTALL_DIR>/Boot2Qt-2.x/sources/b2qt-yocto-meta/b2qt-init-build-env .
+ \endcode
+
+ \section2 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:
+
+ \code
+ export TEMPLATECONF=meta-b2qt/conf
+ export MACHINE=raspberrypi
+ source poky/oe-init-build-env build-raspberrypi
+ \endcode
+
+ 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.
+
+ \code
+ bitbake b2qt-embedded-image
+ bitbake meta-toolchain-b2qt-embedded-sdk
+ \endcode
+
+ \note The generated target image does not yet include Qt libraries,
+ you need to build Qt and add it into the image yourself.
+
+ \section2 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, create new build
+ directory and run the initialization script. Using Raspberry Pi as
+ an example:
+
+ \code
+ cd <your/qt/build/directory>
+ <INSTALL_DIR>/Boot2Qt-2.x/sources/b2qt-build-scripts/embedded-common/init_build_env.sh <INSTALL_DIR>/Boot2Qt-2.x/sources/b2qt-build-scripts/embedded-linux/config.raspberrypi
+ \endcode
+
+ You can use following scripts to build different parts of the \B2Q stack.
+
+ \code
+ <INSTALL_DIR>/Boot2Qt-2.x/sources/b2qt-build-scripts/embedded-linux/build_qt.sh <INSTALL_DIR>/Boot2Qt-2.x/sources/b2qt-build-scripts/embedded-linux/config.raspberrypi
+ <INSTALL_DIR>/Boot2Qt-2.x/sources/b2qt-build-scripts/embedded-linux/build_extras.sh <INSTALL_DIR>/Boot2Qt-2.x/sources/b2qt-build-scripts/embedded-linux/config.raspberrypi
+ <INSTALL_DIR>/Boot2Qt-2.x/sources/b2qt-build-scripts/embedded-linux/build_image.sh <INSTALL_DIR>/Boot2Qt-2.x/sources/b2qt-build-scripts/embedded-linux/config.raspberrypi
+ \endcode
+
+ After \e {embedded-linux/build_image.sh} has finished, you can flash the device with
+ the updated image located in the build folder.
+
+ \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.
*/
/*!
- \page b2qt-supported-platforms.html
+ \page qtee-supported-platforms.html
\title Supported Platforms
- \previouspage b2qt-customization.html
- \nextpage b2qt-troubleshooting.html
+ \previouspage qtee-installation-guide.html
+ \nextpage qtee-changelog.html
\section1 Supported Target Devices
- \B2Q can be made to run on hardware that has support for
- the Android operating system, version 4.0 or later.
+ The \B2Q stack can be made to run on a variety of hardware. \B2QA
+ requires hardware that has support for the Android operating system,
+ version 4.0 or later.
Approximate minimal hardware requirements for running \B2Q are:
\list
- \li 256Mb of RAM
- \li 500Mhz CPU, 1Ghz preferred for 60 FPS velvet-smooth UI
+ \li 256 MB of RAM
+ \li 500 MHz CPU, 1 GHz preferred for 60-FPS velvet-smooth UI
\li OpenGL ES 2.0 support
\li Android 4.0+ compatible hardware
\endlist
- For the technology preview release, the following devices have
- been used as reference and are tested to work:
+ \B2Q has been tested to work on the following reference devices:
\list
- \li \l{http://www.google.com/nexus/7/specs/}{Google/Asus Nexus 7}
+ \li \l{http://www.google.com/nexus/7/specs/}{Google/Asus Nexus 7 (2012)}
\li \l{http://beagleboard.org/hardware-xM}{BeagleBoard-xM}
+ \li \l{http://beagleboard.org/products/beaglebone%20black}{BeagleBone Black}
\li \l{http://boundarydevices.com/products/sabre-lite-imx6-sbc/}{Freescale i.MX6 Sabre Lite board (Boundary Devices)}
+ \li \l{http://www.raspberrypi.org/faqs}{Raspberry Pi Model B}
\endlist
\section1 Supported Development Environment
- The development environment supported in \B2Q Technology Preview
- release is Ubuntu Linux 64-bit (12.04 LTS or 12.10). See the
- \l{Requirements for Development Host}.
+ The development environment supported by \SDK is Ubuntu Linux 64-bit (12.04 LTS or 12.10).
+
+ \sa {Requirements for Development Host}
*/
/*!
- \page b2qt-troubleshooting.html
- \title Troubleshooting
- \previouspage b2qt-supported-platforms.html
+ \page qtee-licenses.html
+ \title License Information
+ \previouspage qtee-troubleshooting.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 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 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
- \note An updated version of this information may be available in the Digia customer portal.
+ \section1 \B2Q 1.0.1
- See also \b{\l{http://qt.digia.com/en/Product/Boot-to-Qt/Boot-to-Qt-Known-Issues/}{Boot to Qt Known Issues}.}
+ \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 a problem deploying/launching the application in Qt Creator
+ \section2 I have problems deploying/launching the application in Qt Creator
- Check if the device is properly connected to the PC via USB.
+ 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}{Configuring VirtualBox}.
+ If using the emulator, see \l{Installing VirtualBox}.
- \section2 I have a problem deploying/launching a Qt or Qt Declarative example application
+ \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
@@ -716,7 +1137,7 @@
outside the Qt source tree, and open this copy of the example
application instead.
- \section2 I have a problem launching or running applications on hardware after updating \B2Q SDK
+ \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}.
@@ -724,8 +1145,8 @@
\section2 Booting Sabre Lite i.MX 6 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. See information and
- instructions here:
+ 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/
@@ -734,31 +1155,46 @@
\section2 How do I restore my Nexus 7 to factory settings?
- Goto \l{https://developers.google.com/android/nexus/images} and
- download the correct file for your device. Unpack it, and then
+ 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:
\code
- <SDK_INSTALL_DIR>/Tools/b2qt/adb reboot bootloader
- <SDK_INSTALL_DIR>/Tools/b2qt/fastboot -w update <image-file>.zip
+ <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 "Launcher
- Settings" app, and press the "Power Off" button.
+ 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 your PC with USB, and run
+ Otherwise, make sure the Nexus 7 is connected to the development host, and run
the following command in a terminal:
\code
- <SDK_INSTALL_DIR>/Tools/b2qt/adb shell reboot -p
+ <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 proper libraries in order to run 32-bit programs in 64-bit Linux operating system.
+ 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}.
@@ -766,16 +1202,26 @@
The following command shows the system log:
\code
- <SDK_INSTALL_DIR>/Tools/b2qt/adb logcat
+ <INSTALL_DIR>/Tools/b2qt/adb logcat
\endcode
\section2 Mouse or touch input does not work
See \l{Customization}.
- Note that hotplugging does not currently work; any input device
+ \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.
@@ -789,16 +1235,47 @@
\section2 adb fails with "error: more than one device and emulator"
- You have to specify which android device you want \c{adb} to talk
+ 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:
\code
- <SDK_INSTALL_DIR>/Tools/b2qt/adb devices
+ <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:
+
+ \code
+ <INSTALL_DIR>/Tools/b2qt/adb devices
\endcode
- \section2 What is the user and password to access my embedded Linux device
+ If the emulator (192.168.56.101) is not listed there, try connecting to it:
+
+ \code
+ <INSTALL_DIR>/Tools/b2qt/adb connect 192.168.56.101
+ \endcode
+
+ If the emulator is already listed, try disconnecting it:
+ \code
+ <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.