Experiences with embeddeding Linux on a handheld

Dinakar Guniguntala, Srivatsa Vaddagiri

Over the past two years, embedded Linux has risen from relative obscurity to recognition as one of top two or three OS choices for new designs of smart devices and embedded systems. More and more developers worldwide are turning to embedded Linux for their embedded solutions.

This paper attempts to share our experiences in porting embedded Linux on a PDA-like handheld device. Some of the problems & challenges we faced during this development & how we overcame them are highlighted. We hope other developers doing similar work will benefit from our experiences.

The handheld device was based on Intel SA1110 CPU. The devices included Touch Screen, Color LCD, 4 Keys, Audio Codec, USB Host Controller, GSM, Bluetooth, Biometric & Cryptographic processor.

Some of the major topics covered by the paper include:

  1. Going for open source vs writing from scratch
  2. Boot loader corruption results in dead units - flash lock/unlock
  3. The choice of the GUI (Microwindows, FLTK, X11 and Qt/QpE)
  4. Use of the alternate framebuffer to overcome repaint problems after blank/unblank
  5. Power Management of the handheld:
  6. Handhelds losing touch screen calibration over time - turns out to be a clock scaling issue!
  7. Problem of upgrading handhelds to newer software levels taking too long - Online update of file system
  8. IBM BlueDrekar bluetooth stack: Several USB layer problems prevented stack bringup - A previously untested combination of an ARM processor interfacing a new USB host controller