Embedded System with Graphic LCD - Embedded

This is a discussion on Embedded System with Graphic LCD - Embedded ; 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, ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Embedded System with Graphic LCD

  1. Embedded System with Graphic LCD

    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,
    Alex

  2. Re: Embedded System with Graphic LCD

    okalex ha scritto:
    > 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.


    Alex,
    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
    Atmel third party consultant
    Phone:+39-035-255.235 - Fax:+39-178-22.39.748
    http://www.KoanSoftware.com
    http://www.KaeilOS.com

    Meet us @ Embedded World 2008 - Nurenberg
    February 26-28, 2008 Hall 11 - 224

+ Reply to Thread