Click them all!

Qt for Embedded Systems

Image 1. TAQ self-balancing robot has software that is written on the Qt framework

The Qt development framework presents a rich set of tools for the creation of cross platform applications with an advanced UI. The framework supports all popular desktop and mobile operating systems and shares 5th-6th place in a global non-official rating of all cross platform and hybrid toolchains for desktop and mobile development.

The most interesting thing about Qt is that it has another pretty excellent property: this framework is 100% applicable for embedded applications both with and without UI. Before you think “But this is mainly a UI tool!” we should say that the Trolltech Company released the Qt/Embedded library in August 2000! Qt/Embedded is memory efficient enough to be responsive even on slow processors and can provide crisp and vivid graphics on a multitude of displays. Companies like Ericsson, Mizi Research and PalmPalm Technologies of Korea have used Qt/Embedded on a multitude of hardware projects. On the low end, Mizi had Qt/Embedded running on its SmartPhone with 18 MHz ARM7 processors with only 2 MB of DRAM and 4 MB flash. By 2006 Qt was the software base for millions of mobile phones (actually, embedded device at that moment) and from 2008 Nokia started to build their devices based on Qt. Also, the time of execution depends from several other conditions. For example, hardware selection and hardware architecture, along with the developer’s experience. Did you know about the amazing experiment when after optimizing the system image in an embedded Qt’s application the loading time decreased from 22.5 to 1.5 seconds? Also, it is necessary to note, that the Qt version influences the graphics initialization time significantly.

We surely do not want to say anything bad about other tools for embedded systems development and even can list some of them right here for you: wxWidgets, JUCEC, EGUI, GTK+, EFL or even HTML5/JavaScript! But a Qt application possibly shows better performance and can be developed faster. The DevelopEx Company has been implementing applications with C++ and particularly the Qt framework for a long time now. And we are assured that the most optimal way to create and maintain multiplatform applications is through the use of the Qt framework.

Why not use a traditional approach?

By a traditional approach we mean development using a specific toolchain like Keil, IAR or CooCox. It depends on the project of course. The listed workbenches are optimal for creating software for specific devices (like game periphery) with minimal (or no) GUI. But if you need to develop an embedded application with a GUI that could be ported to another platform then it is highly recommended that you use a cross-platform framework.
Also there are some other benefits of applying a cross platform framework to a project (and the Qt framework in particular):

Desktop and Mobile platforms become less overwhelming

Many decisions are already made for you: operating system, native API, available toolchains. For example:

Qt Use in the Internet of Things (IoT)

It is estimated that 95% of today’s embedded systems are created with C/C++, and that this will not significantly change in the foreseeable future. The Qt framework is ready to work with IoT devices and represents many high-level APIs for creating the engine of an IoT gateway.

As you can see the language on this blog is not pure English, but with Ukrainian accent. :) we decided that it is not effective to hire native proofreaders every time we update the site. It is the same language here that we use in communication with customers. So you can decide if there is language barrier problem or no.