eCos is an open source real-time operating system (RTOS) for deeply embedded applications. It has been deployed in a huge variety of markets and devices. Examples include Sirius satellite radio receivers, Sony Playstation 3 Wi-Fi modules, NETGEAR routers and major aerospace applications such as the Alpha Magnetic Spectrometer. This popularity is as a result of a variety of commercial and technical advantages over competing RTOS offerings.
eCos is truly free open source software, with a licence that ensures unlimited access to its source base, whilst respecting the IP rights of middleware and embedded applications. Engineers enjoy maximum control, flexibility and understanding over all aspects of their embedded design. Commercial freedoms include perpetual access and rights to the codebase with no vendor lock-in, no restrictions on your IP, and no imposition of royalty or license fees. It is licensed under a modified version of the well known GPL license that allows the use of non GPL licensed code to be linked with eCos. This means that your application, additions to the system, and any third party middleware, have no requirement to be licensed under the GPL.
Flexibility and Efficiency
eCos stands for the "Embedded Configurable Operating System". The configurability technology that lies at the heart of the eCos system enables it to scale from extremely small memory constrained SOC type devices, through to more sophisticated systems that require more complex levels of functionality.The configuration system enables developers to specify the required functionality and characteristics of the operating system, creating an application specific version that is ideally suited to the requirements of a particular device. Thus helping to achieve minimal resource footprints, with maximal functionality and efficiency, meeting the challenge of tough RAM/ROM budgets and performance targets.
The standard eCos release includes the tools and runtime functionality necessary to satisfy many embedded applications: priority-based real-time scheduler and synchronization primitives, standards based APIs, language support libraries, file systems, networking, communications, device drivers, and debugging support. The open source GNU compiler toolset and a GUI-based eCos configuration tool are also included.
Designed for deeply embedded real-time systems from the outset, eCos implements a classic multi-threaded architecture with a rich set of synchronization primitives. This delivers deterministic response times, minimal interrupt latencies, and low overhead context switches.
The straightforward architectural and platform portability of eCos is a result of a well defined C language based hardware abstraction layer (HAL), and close coupling with the GNU C/C++ toolset. This has resulted in the porting of eCos to virtually all modern 32bit architectures. These include ARM, Coldfire/68K, Hitachi SH2/3/4, Intel x86, MIPS/microMIPS, Nios, PowerPC, SPARC, and many others.
The RedBoot bootloader and debug agent is also based on the eCos HAL providing both a bootstrap & software debug solution, and RTOS port in a single development step.