We are happy to introduce the next iteration of our embedded adventure – Boot to Qt on embedded Linux and some really nice improvements on embedded Android.
As mentioned in Gunnar’s blog post in May, Boot to Qt is the project under which we have been researching and developing an embedded offering for Qt Enterprise edition. The purpose of the project has been to facilitate embedded device creation. This consists of integrated tooling for embedded development and deployment through Qt Creator and a pre-built Boot to Qt software stack for the target hardware. Sincefar, the project has introduced support for the software stack on top of embedded Android.
Introducing Embedded Linux
In Boot to Qt project we have received a lot of requests for adding support also for embedded Linux, so we have put an extra effort into making that happen. The setup on Linux is now here and looking pretty nice, using Yocto and Poky.
We’ve also set up the emulator to support Linux based Boot to Qt as well, so now you can choose to emulate the Boot to Qt software stack behavior on both Android and Linux.
Here is a list of the current reference devices and which OS we have running on them:
|Google Nexus 7 – 1.2 GHz Quad-Core ARM Cortex A9, Tegra 3 GPU, 1GB RAM||Android|
|Beagle Board xM – 1GHz ARM Cortex A8, PowerVR SGX530 GPU, 512MB RAM||Android & Linux|
|Boundary Devices SABRE Lite (Freescale i.MX 6) – 1 GHz Quad-Core ARM Cortex A9, Vivante GC2000 GPU, 1GB RAM||Android & Linux*|
|Emulator||Android & Linux|
*Due to licensing restrictions on the Yocto recipes for the i.MX 6, this is not bundled into the default installer. If you wish to use the SABRE Lite on Linux, we can help you set it up with minimal effort.
Also, please note that the reference devices above are just examples of Boot to Qt running on different hardware. Setting up Boot to Qt on other devices that run Android or Linux, should not involve much work (including all the tooling and other benefits of Boot to Qt).
1-click Deploy and Run
In this tech preview we have enabled the support for connecting directly to devices using USB. Once your device is set up, you can run your applications on device or emulator with just one click, on both Linux and Android.
This will enable you to regularly check how your changes affect your application on the device, without slowing you down.
Remote Debugging and Profiling
We have put quite some effort into getting remote debugging and profiling working, but it has proven to be a difficult task. Currently we offer debugging of your own code on the following setups:
|Nexus 7||Android only||Android only|
|Beagle Board xM||Android & Linux||Linux only|
|SABRE Lite (i.MX6)||Android & Linux||Android & Linux|
|Emulator||Android & Linux||Linux only|
Currently we support QML-profiling for all the Android and Linux devices.
For Android we have some problems with GDB on the Beagle Board and in the emulator (which keeps us from providing Qt/C++ debugging on these devices). More information can be found on the known issues page.
If you want debugging of the Qt libraries, these need to be built with debug symbols. We have not done this out of the box, as it will increase the size of the libraries, and might end up being to big for some devices.
To get started with Boot to Qt you can request an evaluation license on the product page. Existing embedded Linux customers will get the upgrade to Boot to Qt for free via the Customer Portal.
One of the big difficulties in embedded projects is setting up the environment and devices for the first time and making applications run on the device. We have made a lot of improvements to the getting started process, and have set up a target that most of you would be able to deploy your first application to an actual embedded device in less than 3 hours (starting with an Ubuntu machine). That’s Boot to Qt.
Looking forward your feedback!