An Introduction to the eCos World
In this first chapter, we take a brief look at the origins of the Embedded Configurable Operating System (eCos) and the people and company behind it. We then get an overview of the configurable architecture of eCos, the core functionality, the different processors and evaluation platforms supported, and technical assistance options available.
Lastly, we get an overview of the eCos architecture and a look at the terminology used to describe the different pieces of the configuration system. The overview gives us a general idea of the components we detail in later chapters, and the terminology described in this chapter is used throughout the book.
1.1 Where It All StartedCygnus Solutions
Michael Tiemann, David Henkel-Wallace, and John Gilmore founded Cygnus Solutions in 1989. The idea behind Cygnus Solutions was to provide high-quality support and development for open source software. It was initially unclear whether this business model would work out; however, by the end of the first year it was obvious from the value of the support and development contracts that the business was real. The workload was enormous for the five-person company (the three founders, a salesperson, and a part-time graduate student).
It was clear that the engineering support model worked; however, the costs to fulfill these contracts were very high. In order to generate income at a lower cost, the engineers had to put their heads together to come up with an idea. The plan was to focus their development efforts on a small set of open-source technology that could be sold. The key to maintaining this development on an order that could be handled by the group was to keep the focus very small. What they came up with was selling the GNU compiler (GCC) and debugger (GDB) as shrink-wrapped software. This was the right team of people to do the job. Michael Tiemann, who contributed numerous GNU compiler ports and also wrote the first native C++ compiler (GNU C++ or G++), took on the task of working on GCC; David Henkel-Wallace worked on the binary utilities (binutils) and the library; and John Gilmore worked on GDB.
This task grew to monumental proportions. One advantage, or so it seemed, was that John Gilmore decided to become the new GDB maintainer. Making this known to the Internet community immediately flooded him with different versions of GDB. Now came the task of integrating these new version features.
Eventually, the hard work paid off in what today is called the GNUPro Developers Kit. The kit includes:
GCCthe highly optimized ANSI-C compiler.
G++ANSI-tracking C++ compiler.
GDBsource- and assembly-level debugger.
CygwinUNIX environment for Windows.
Insighta graphical user interface (GUI) for GDB.
Source-Navigatorsource code comprehension tool.