Tutorial explores embedded device deployment
May 29, 2009 — by Eric Brown — from the LinuxDevices Archive — 5 viewsThe final installment of Simtec's series on embedded Linux system development discusses issues involved with deploying embedded projects, such as the example ARM-based web kiosk system. The tutorial is written by Vincent Sanders (pictured) and Daniel Silverstone, both from U.K.-based Simtec Electronics.
Part One of the series stepped beginning Linux developers through the construction of a simple embedded Linux system, and Part Two explained how to construct a simple web server with a command shell on the console. Part Three extended the techniques learned about using a command shell on the serial console to the development of a web browser for a kiosk system.
In Part Four, Sanders and Silverstone covered the specifics of working with an ARM9 platform for the web kiosk, with a special focus on power management issues. In Part Five, the authors discussed how to know when to conclude a project, and then provided an overview of cross-compiling the entire kiosk system from source, automating the process with a buildroot system.
In Part Six, the writers first look at one particularly difficult and all too common problem in deployment: what to do if hardware project requirement changes after the software has been completed. After running through several options, the writer conclude that the best step is to “Design hardware ready for manufacture from the outset. This is the lowest cost and most powerful option as it removes the entire 'redesign for manufacture' step from a hardware process and ensures the hardware performs as the original designer envisaged.
It also means the software platform can be stabilized along with the hardware.”
Flash storage, file systems, and boot-loaders
After heartily recommending extensive manual testing of a product in addition to automated tests, the authors move on to the issue of various storage options for the embedded software. The tutorial offers an in-depth discussion of various flash devices, breaking them down into NOR, NAND, and block interfaced options.
The tutorial then proceeds to explore the issue of file system selection for flash devices. In the process, the authors further fuel the ongoing debate about the ext3 filesystem by saying that ext3 “is possibly a pathological worst case for a great number of commercially available compact flash cards.” Ouch!
The tutorial next moves on to a discussion of boot-loader choices. It decries “the continuing desire, by software engineers, to re-implement new ones,” and admonishes that “this desire should be resisted wherever possible as it adds no direct value to a project and inevitably leads to huge uses of resources to solve low level issues.”
The tutorial goes on to summarize production issues, software licensing, and how best to ask from help from open source groups. It then concludes with a wrap-up of the six-part tutorial's key points:
- Have a clear project goal,
- Automate everything possible
- Ensure repeatability
- Use existing tools
- Customise existing solutions
Part Six, the concluding chapter of the Simtec tutorial, is available here:
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.