eCos - Embedded Cygnus Operating SystemIn January 2000, Cygnus was bought by Red Hat. ContentAbstractThis document is intended to give the reader an overview of the goals and objectives of eCos. Not all aspects discussed in this document have been implemented in the first release. This should provide the reader with an understanding of what Cygnus is attempting to do with eCos from a technological point of view. The overall technical aims and objectives of the eCos initiative are discussed, along with a set of requirements used to drive the original design of eCos. Discussion of the marketing, business, and technical analysis that has led to these aims and objectives are beyond the scope of this document. Some of the aims and objectives detailed here are implicit requirements for eCos, and others are broken out into explicit requirements. The primary aim of eCos is to deliver a cost-effective, high quality embedded software infrastructure to the marketplace. This will be achieved in an open, free, standard way, working in collaboration with our key semiconductor partners, OEM partners, and the world of embedded developers. What does "embedded system software infrastructure" mean? It means a standardized framework for extension, configuration, and customization of embedded system software. It enables Cygnus and third parties to add new software components that extend the core offering. Users can select from these components the precise functionality that they require -- and/or customize them, if necessary -- to meet the exact needs of their applications. In addition to supporting a wide variety of embedded software components, eCos provides a standard way of extending the core system's host development tools, target debugging and communication interfaces, device support, and target platform descriptions. These capabilities will be provided to third parties and users alike by means of a series of open, published, APIs. The desire is to create a standard infrastructure that can support an open market and channel for third party add-on products, increasing the richness and functionality of the solutions available to our users. The components that fit into this infrastructure, especially the core components such as the eCos kernel, are focused on fulfilling the needs of the embedded real-time marketplace. These needs are explored further in the subsequent sections. Cygnus wishes to maximize the coverage, availability, and access to eCos. The infrastructure, core components, and standard host tools will be made freely available on many of the leading architectures today. The host development systems used include both Windows and UNIX based platforms. To maximize eCos' coverage, its infrastructure, components, and development tools are capable of supporting a wide range of these systems. It is Cygnus' aim to provide the user with complete control and maximum flexibility in developing software that exactly meets their applications' requirements and specifications. To help satisfy this need, all of Cygnus developed target components will be provided in source form. This enables a much richer level of configurability and ultimately provides the user with absolute control over all the software used in the system. eCos supports the migration of users from existing embedded operating systems to eCos. In particular it supports porting of ITRON applications by providing a ITRON-compatible API and configuration of the eCos kernel. The process of porting eCos to new target platforms is relatively straightforward. Although Cygnus will provide many architectural ports --including ports to popular evaluation target boards - users, in general, are responsible for porting to their own target hardware products. In fact, anyone can provide an architectural port of eCos since it is licensed under a public license. However, Cygnus will only officially release the new port (no matter who contributed the port) until it has been fully qualified and tested by Cygnus. The integrity of the system is critical to its success. Software faults that cause the system to fail are simply not acceptable in the embedded context. Quality of construction and test suites to prove the reliability and correctness are key objectives. The development environment for eCos provides the full range of functionality necessary for software engineers and teams to collaborate in the development of embedded software.
|