Welcome to the eCosTM version 1.1 Technology Release.
eCos is an open, configurable, portable, and royalty-free embedded real-time operating system, shipped with complete sources.
eCos is open in that no parts of the system are proprietary. All interfaces are published and complete source code is available. Any programmer can develop with eCos, and contributors will help define future aspects of the standard.
One of the key technological innovations in eCos is our configuration system. The configuration system allows the application to impose its requirements on to the run-time components, both in terms of functionality and implementation, whereas traditionally the operating system has constrained the application's own implementation. Essentially, this allows eCos developers to create their own application-specific operating system. The configuration system also presents eCos as a component architecture, which allows applications to be built from a wide range of configurable run-time components. These components are provided either as part of the eCos core, or by commercial developers, contributors, or Cygnus.
Royalty-free means that you can develop and deploy your application using eCos without your profit margin taking a hit. In addition, there are no developer kit or toolchain purchase costs. We provide everything you need for basic embedded applications development.
eCos is designed to be portable to a wide range of target architectures: the kernel and other runtime components run on top of a Hardware Abstraction Layer (HAL), and thus will run on any new architecture once the HAL has been ported to that architecture.
eCos has been designed to support embedded applications with real-time requirements, and therefore behaves in a deterministic manner and includes all the necessary synchronization primitives, scheduling policies, and interrupt handling mechanisms needed for real-time applications.
This first public distribution of eCos of November 1998 is a technology release. It includes everything you might need to develop embedded applications, including compilers, debuggers, simulators, kernel, and libraries. We consider the system stable and well tested, but our coverage of target platforms, and some areas of functionality will increase as the use of eCos expands. eCos currently supports three architectures: the Matsushita MN10300, the Toshiba TX39, and the PowerPC (PowerPC support is still a beta release). The availability of source code under open source licensing terms, as well as Cygnus's own efforts, should allow a rapid proliferation of new architecture and platform ports.
We are releasing eCos at this point because we want you and other embedded software developers to start using it and to participate in making eCos a better product for the entire embedded software community. Indeed, our long-term plan is that eCos should become a rich, ubiquitous infrastructure for the development of embedded applications. We will achieve this in part by Cygnus's own efforts, but also with the assistance of a community of programmers who collaborate to improve eCos. To this end, we guarantee to you that eCos will always be free. You will have the freedom to use and redistribute eCos, and your enhancements to it. This is because eCos is licensed under an open source license, the Cygnus eCos Public License (CEPL).
Cygnus provides a Web site for all open source projects that it sponsors, and this hosts an area dedicated to the eCos developer community http://sourceware.cygnus.com/ecos/. The site contains a rich set of resources including the eCos source code and development tools. In fact everything you need to start developing your own applications using eCos. Complementing the Sourceware site is an eCos product site, featuring news, press releases, details of Cygnus's commercial engineering and support services, and products, and third party partner offerings. This is situated at http://www.cygnus.com/ecos/.
If you want to get involved in the ongoing development of eCos you should read the material available on the Sourceware Web page mentioned above, take part in discussions on the mailing lists, and start getting familiar with programming eCos. Then you can contribute in the usual ways — by giving us feedback on how eCos might be made more useful to you, by submitting bug reports, by contributing patches, and by contributing new code.
This is just the beginning of the evolution of eCos and its associated components, and Cygnus is dedicated to its further development and expansion. Among other things, upcoming releases will feature a wider range of architectural ports, further enhancement to the configuration and build system, a comprehensive device driver architecture, JavaTM runtime support, full C++ API support, and further debugging and analysis tools.
Paul Beskeen, Director of Engineering, eCos
October 1998