View the site in Français Site displayed in English (USA) View the site in English (GB)
You are here: ac6 > ac6-formation > Linux > Embedded GUI

D5 Embedded GUI

Graphical User Interfaces for Embedded Linux

Objectives
bullet_jaune_1 Understand the different layers associated with the graphic interface system
bullet_jaune_1 Learn how to use the Linux frame buffer
bullet_jaune_1 Discover the hardware abstraction layers
bullet_jaune_1 Learn to use the main graphical toolkits (widgets) taretting embedded Linux
bullet_jaune_2 QT
bullet_jaune_2 FLTK
bullet_jaune_2 WxEmbedded
bullet_jaune_2 MiniGUI
bullet_jaune_2 ...
bullet_jaune_1 Learn how to link commands to GUI elements
Labs are conducted on target boards, that can be:
    Dual Cortex/A9-based "SnowBall" boards from ST-Ericsson, with Lauterbach JTAG probes.
    Atmel ARM9-based boards, with Lauterbach JTAG probes.
We use the last linux kernel, as delivered on www.kernel.org.
Hardware
bullet_jaune_2 A Linux PC for two trainees, with an ARM based target board
bullet_jaune_2 Course material
bullet_jaune_2 CDROM with documentation and tools used during the trainin
Prerequisites
bullet_jaune_2 Knowledge of Linux user level programming (see our D0 course)
bullet_jaune_2 Knowledge of embedded Linux (see our D1 course)

Outline
The various system layers used by GUIs
bullet_jaune_2 Kernel drivers: frame buffer, direct access, ...
bullet_jaune_2 Hardware abstraction layers: X, GGI, DirectFB, ...
bullet_jaune_2 Graphical toolkits (widgets): QT, GTK, FLTK, ...
bullet_jaune_2 Window manager: matchbox, sawfish, ...
bullet_jaune_2 Desktop environments: GNOME, KDE, ...
The Linux frame buffer
bullet_jaune_2 Selecting frame buffer support when building th ekernel
bullet_jaune_2 Generic VGA support, VESA
bullet_jaune_2 Provided features
The hardware abstraction layers
bullet_jaune_2 X: standard server and embedded-specific versions (tiny-X, Kdrive, Nano-X)
bullet_jaune_2 GGI: generic multiplatform GUI (Linux, Windows, MacOS/X ,...)
bullet_jaune_2 DirectFB: hardware acceleration above the frame buffer
The graphic toolkits (widgets)
bullet_jaune_2 Trolltech's QT
bullet_jaune_2 GTK (Gimp ToolKit)
bullet_jaune_2 WxEmbedded
bullet_jaune_2 FLTK (Fast Light ToolKit)
bullet_jaune_2 MiniGUI
bullet_jaune_2 Nano-X (ex MicroWindows)
bullet_jaune_2 Standard "desktop" versions and embedded-specific versions
bullet_jaune_2 Graphical GUI design tools: QT designer, Glade, FLUID...
Linking commands to GUI items
bullet_jaune_2 Using fork and exec
bullet_jaune_2 Pipe communication
bullet_jaune_2 Integration with widgets
Embedded GUI distributions for Linux
bullet_jaune_2 The "familiar project"
bullet_jaune_2 GPE Palm Environement
bullet_jaune_2 Qtopia
bullet_jaune_2 Pixil