Course Description:
Increasingly, embedded systems incorporate graphical
displays and touch screens to create a rich man-machine
interface. Linux, of course, has the capability to display
complex graphics as anybody who has seen Linux running
on a desktop PC will know. But, graphical environments
are memory-hungry and can easily eat up hundreds of MB
of RAM and storage. This course describes the
architecture of graphical environments on Linux,
especially the X windows system, and shows how to
create optimised systems that are suitable for embedded
use. Topics include X servers, frame buffers,
programming environments, the GTK+ and Qt widget
libraries.
Overview:
A three-day course, providing hands-on experience of
configuring and programming graphical environments on
Embedded Linux. Practical sessions use the Nokia 770
web pad.
Course Objectives:
After completing the course attendees will:
• Understand how to include complex graphical
interfaces in small memory embedded systems
• Be able to cross-compile and load X on a typical target
board
• Understand the architecture of X, frame buffers and
window managers
• Have an overview of graphics programming libraries
Prerequisites:
• Good knowledge of ‘C’ or C++
• Some knowledge of Linux is an advantage
Who Should Attend:
Application programmers and software engineers who
need to build a graphical user interface on Linux
Duration:
Three days
Course Materials:
• Delegate Handbook
Related Courses:
• EL-503 Developing for embedded Linux
|
Course
Outline:
Linux and graphics
- Types of display hardware
- Frame buffer drivers
- Input devices: keyboard, mouse,
touch-screen
The X Window system
- The X.org project
- Components of X
- X modules
- Kdrive (Micro X)
Building X
- Selecting components
- Cross-compiling
- Installing X on the target
Running X
- Configuring display and input
devices
- Fonts: bitmapped vs scaled
- Anti-aliasing
- Networked access to X servers
- Testing and debugging common
problems
Window managers
- The role of window manager: do
you really need one?
- Examples: twm, ICE, Matchbox
Writing graphical applications
- Different layers, widget sets
- Low-level libraries: xlib
- Xt and the Athena widget set
- The Motif widget set
- The GTK+ widget set
- The Qt widget set
- Nano-X
Programming with Xlib
- Description of Xlib
- Example program using Xlib
- What Xlib can and can’t do!
Programming with GTK+
- GDK, Glib and GTK+
- Using Glade to design application
layout
- Writing GTK+ applications in ‘C’
- Other language bindings
Programming with Qt
- Qt Objects
- Event handling: signals and slots
- Using Kdevelop for application
design
- Writing Qt programs in C++
- Other language bindings
Living without X
- Other ways to program graphical
applications
- Qt Embedded
- GTK+ Direct |