Download Portable Embedded GUI Programming Manual

Transcript
INTRODUCTION
Historically speaking, graphical user interfaces have almost exclusively
been the domain of desktop personal computers. This has been the result
of two main factors: the cost of graphical display hardware and the lack of
GUI software suitable for use in real-time systems.
In the area of industrial control systems, there have been attempts at
providing graphical presentations, but these have been cumbersome at
best and terribly expensive as well. These types of systems have typically
avoided the use of mainstream video output devices, and opted instead for
very expensive and functionally limited industrial display terminals.
Today, this attitude has changed to the point where it is very common for an
embedded system to contain many of the very same hardware components
found in a desktop computer system. This makes sense strategically
because it allows the inventor of an embedded product to leverage the
sales volume and pricing of the components sold primarily for desktop
computer use. The result is that the cost of including graphical display
hardware in an embedded product has declined significantly over the past
few years. A wide variety of LCD display panels, VGA display panels,
video controller chips and high-performance CPUs capable of driving a
graphical interface are now available.
Unfortunately, the software side of the equation has not advanced nearly as
quickly. Until now there has been no graphical interface solution that is
small enough and portable enough for an embedded system while at the
same time providing a modern and professional appearance. There have
been previous attempts at meeting this need, but so far these attempts
have missed the mark.
The alternative solutions that provide a modern, full-featured interface have
all been derived from desktop computing environments, and carry along
with them years of acquired baggage. These solutions impose very high
hardware costs on your system, and even higher costs in terms of the manhours required to successfully integrate these large software packages with
your real-time software. This of course assumes that you have the time
and expertise required to actually build a working system with one of these
products. We have seen more than one project descend into a neverending abyss of delays, technical setbacks, and finally failure caused by
trying to force-fit software that was not intended for real-time systems.
Swell Software, Inc.
vii