Embedded System with Graphic LCD

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hey everyone,

I've been searching the interweb to determine the best approach to add
a graphic LCD to an embedded Linux system, but have so far turned up
short.  Perhaps someone here can shed some light on the subject.

First, a description of the system.  I'm writing the firmware for a
commercial audio processor based on the Atmel AT91SAM9260 ARM9
processor.  We've recently decided to add a 240x64-pixel monochrome
graphic LCD to the front panel of the product.  Because of design
constraints, we're limited to a specific LCD from Densitron, which is
based on the Sitronix ST7529 controller.  We've been unable to find
any other LCD modules which meet our specs, primarily that it must be
at least 64 pixels high and fit in a 1RU enclosure, so we are stuck
with this module.  Also, we're fairly far into the design process, so
using a different processor with a built-in controller is not an
option.  The LCD module is connected to the data bus on chip select 0.

Okay, so what I really want to know is, what is the best approach to
implement a graphic LCD in an embedded Linux system?  Also, note that
"best" in this case does not necessarily mean absolute easiest.  This
is a commercial product which must be maintained in the future, so
"best" will likely be a trade-off between ease-of-implementation and
"correctness".  There is no ST7529 driver available, so I'll have to
write that myself, but there are a number of options.

I could write a very simple driver to talk to the device and do most
of the work in userspace.  This seems like the easiest solution at
first, but then I would have to write the font library and graphics
routines myself, which seems like a considerable amount of work.

The other option, I think, is to write a framebuffer driver and put a
graphics library, like MiniGUI or SVGALib, on top of that.  I'm not
exactly sure what this entails, however, and useful information on the
topic is hard to sort out when I'm new to the subject.  A little bit
of guidance would be greatly appreciated.  Would this require that I
write two drivers, one to talk to the hardware and the other to
interface to the framebuffer?

Are there any other solutions that I'm unaware of?  As many products
as I see that run Linux and have graphic LCDs, I know that I'm not the
first person to come across this problem.  Information on the topic is
scarce, however.  I've read various books on embedded Linux (Linux
Device Drivers, Embedded Linux Primer, Linux Kernel Development), but
none of them have touched on the topic of graphics for embedded
systems.  I've noticed that Embedded Linux System Design and
Development has a chapter on embedded graphics, but haven't had a
chance to look through the book.  Has anyone read this book?  If so,
was it helpful, and is the graphics chapter any good?

Hopefully someone out there can provide me with a little bit of
architectural guidance for this situation.

Thanks in advance,

Re: Embedded System with Graphic LCD
okalex ha scritto:
Quoted text here. Click to load it

this is a quite wide problem and would take long time to discuss it.
Of course MiniGUI, SVGALib, NanoX, FLTK or other solutions are possible
and you have to shecule some time to do that work.
Moreover 240x64-pixel monochrome display is quite unusual but you can
customise one of these libraries if necessary ;-)

Cordiali Saluti / Kindest Regards / mit freundlichen Grüssen
Marco Cavallini | KOAN SAS | Bergamo - Italia
  embedded and real-time software engineering
We've slightly trimmed the long signature. Click to see the full one.

Site Timeline