Properly Select the GUI system in the embedded Linux environment
Source: Internet
Author: User
Select a GUI system in an embedded Linux environment-general Linux technology-Linux programming and kernel information. For more information, see the following. In the field of embedded systems, there are many GUI systems, such as QNX Photon MicroGUI. But in the field of Embedded Linux, which GUI systems are available?
In an embedded environment, the overall architecture of the GUI system is not far from that of PC Desktop. For example, drawing function libraries, fonts, and event processing are also faced by embedded GUI systems. However, the embedded system is small in size and has few resources. Therefore, the overall design must be rigorous and more conditions must be considered, sometimes it is quite like returning to the Dos programming age, and the storage volume occupied by the software can be said to be very large.
In Unix environments, the image Windows Standard is X Window System (hereinafter referred to as X standard). Linux is a Unix-like System, so the top-level GUI System is compatible with X standard XFree86. The X standard can be roughly divided into several parts, such as X Server, Graphic Library (underlying drawing function Library), Toolkits, Window Manager, and Internationalization (I18N). For details, see the link ).
The author believes that although the X-rack architecture is good, it is not very suitable for Embedded environments, because the actual work is too huge, so many embedded Linux GUI systems will merge the above several points, even all of them are bound together. Of course, this will also lose a lot of elasticity and expansion functions, but in order to adapt to embedded systems, this is also a solution to the problem. This article describes the existing mainstream embedded Linux GUI solutions.
Mainstream Solutions
Qt/Embedded
Qt is a cross-platform FrameWork Environment developed by Trolltech, a commercial company. In the X environment, it can be seen as a set of fully functional user interface toolkit, which uses a syntax similar to C ++, and provides the object-oriented function. Cross-platform features enable Qt-based software in Microsoft Windows 95/98/2000, Microsoft Windows NT, MacOS X, Linux, Solaris, HP-UX, Tru64 (Digital UNIX), Irix, FreeBSD, BSD/OS, SCO, AIX, and many other platforms. Although it is a product of a commercial company, Qt adopts an open-source path and follows the same game rules to provide free downloads. All of them are open source code, and GPL is used for non-commercial purposes, the famous Open Source "KDE" Project was developed using Qt.
Trolltech also launched the "Qt/Embedded" product for Embedded environments. Unlike the desktop version, Qt/Embedded has replaced X Server and X Library roles, and all functions are integrated.
Qt/Embedded also features cross-platform features, saving a lot of effort to transplant software. This concept is very similar to Java. At the same time, it also adopts a modular design. Its biggest advantage is elasticity. Qt/Embedded claims that the minimum size can be reduced to about KB, and the maximum length can be 3 Mb (for Intel x86 ), this elasticity also makes Qt/Embedded more suitable for survival in an Embedded environment.
In addition, Trolltech also launched the overall solution QPE (Qt Plamtop Environment) for PDA software ). It takes into account the underlying GUI system, Window Manger, Soft Keyboard to the upper-layer PIM, browser, and multimedia. As shown in main interface 1, it includes the address book, calculator, World Time, time setting, notepad, terminal, file browser, help, Media Player, image browser, text editor, etc.
Compared with other guis, Qt/Embedded is a fat product with rich functions, but only high-end products can digest it. 32 MB memory is the minimum requirement for running it. Therefore, if the developed product is not a high-end information pipeline product, Qt/Embedded should not be given priority.
GtkFB
Since Qt launched the embedded version, although GTK + is not developed by commercial companies, it has stepped up to launch the GtkFB solution, its purpose is to provide a GTK +-based GUI solution for embedded systems. Similar to Qt/Embedded, GtkFB also skips layer X and communicates directly with FrameBuffer. Therefore, it also has several advantages of Qt/Embedded. However, it is not a commercial software, the development speed is relatively slow.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.