Archive Index (1999-2012) | 2013-current at | About  

Article: Embedded Linux in academia — the problem and potential solutions

Dec 18, 2002 — by LinuxDevices Staff — from the LinuxDevices Archive

This article addresses a perceived need that has arisen with the rather sudden proliferation of embedded systems that deploy full fledged operating systems, such as Linux. The intent is to initiate a discussion in hopes of eventually meeting the perceived need. The hope is that this is really an opportunity for the embedded Linux community.

Embedded systems are everywhere, many hidden from sight (e.g. under the hood of your auto). However, many others are forcing their way into our daily lives in a very visible way (e.g. cell phones, PDAs, etc.). The percentage of these that deploy a full fledged operating system has risen sharply over the last few years, perhaps mostly driven by the need for Internet connectivity, a convenient graphical user interface, or other functionality. The embedded operating system (EOS) provides a wide range of such high end functionality without requiring that developers reinvent every wheel.

From a development standpoint, one of the interesting effects of having an EOS is that the pool of programmers capable of doing embedded development is suddenly greatly expanded. One can now program in high level languages (Java, C++, etc.) and use other tools previously focused on desktop environments. Certainly, a company doing embedded work still needs hardware-adept programmers, but can now draw from this new pool of talent.

Of course, those comprising this new pool need some transitional education to gain familiarity with the embedded system development environment. This constitutes a challenge for those educating these students. In academia, typical computer engineering programs already expose their students to the embedded system development environment, whereas few computer science programs do. This short article focuses on how computer science departments might respond, but the ideas presented could also be applied to training environments.

The problem, then, is to find an easy way for computer science programs to create curricula which will give students a useful exposure to embedded system development. Cost is a factor, and if we can devise a path for schools whose students are not from wealthy backgrounds, then there is a solution for all.

One solution is for a computer science department to create a dedicated lab with reasonably current embedded system development kits, perhaps as cheap as $300 per kit. Each station would have such a kit, as well as a PC as the development platform. However, with the cost of providing a dedicated lab, the initial hardware, and the need for routine hardware updates, this would be out of financial range for many institutions.

The second solution tries to stay within this cost envelope by exploiting the advantages of the Linux community. The cost to a student for any course includes tuition, the text book, and any incidental fees.

First, the textbook should be available on CD (for the cost of the medium) or downloadable from somewhere like the Linux Documentation Project. Second, the embedded system will be some product like a Linux compatible PDA, which the student purchases in lieu of the textbook. The student can develop at home or at one of the general purpose Linux labs at his/her school.

The computer science department has suffered no new cost, not even for maintenance. The equipment is updated by having the new student clientele purchase newer versions of the hardware year after year. Each student walks away with a useful product which is thoroughly understood. I have some limited experience here which indicates that the students are quite enthusiastic about such an embedded target.

The major flaw in this solution is obvious: the typical pda costs significantly more than a textbook! However, there are several potential ways around this flaw:

  1. Have pda manufacturers (e.g. HP/Compaq, Sharp) step forward and offer a low cost (less than $120 USD) PDA development kit. Such vendors could use this as a boneyard for slightly obsolescent PDA's on the verge of being discontinued. I haven't a clue if this is feasible.
  2. Wait for a few years. The prices of such systems should come down to the range of a textbook. The textbooks seem to be increasing in cost, so there will be some crossover point for these two costs sooner rather than later.
  3. Use the system in several courses in addition to an embedded systems course. One could use it, for example, in operating systems, assembly language, high level language courses, etc. The cost would then be amortized over several courses. A whole curriculum could be developed and housed at the Linux Documentation Project.

What do you think? Do you have comments or questions on this article? Suggestions? talkback here

About the author: Dr. Richard Sevenich is Professor of Computer Science at Eastern Washington University, where he teaches courses on operating systems, compiler design, assembly language program, and others.

This article was originally published on and has been donated to the open source community by QuinStreet Inc. Please visit for up-to-date news and articles about Linux and open source.

Comments are closed.