![]() |
|
---|---|
Company / developer | eCos community, Free Software Foundation |
Programmed in | C, C++, assembly |
OS family | Real-time operating systems |
Working state | Current |
Source model | Open source |
Latest stable release | 3.0 / March, 2009 |
Marketing target | Embedded systems |
Supported platforms | ARM, CalmRISC, FR-V, Hitachi H8, IA-32, Motorola 68000, Matsushita AM3x, MIPS, NEC V8xx, Nios II, PowerPC, SPARC, and SuperH |
License | GNU General Public License (with linking exception)[1] |
Official website | ecos.sourceware.org |
eCos (embedded configurable operating system) is a free and open source real-time operating system intended for embedded systems and applications which need only one process with multiple threads. It is designed to be customizable to precise application requirements of run-time performance and hardware needs. It is implemented in C/C++ and has compatibility layers and APIs for POSIX and µITRON.
Contents |
Design
eCos was designed for devices with memory size in the tens to hundreds of kilobytes,[2] or with real-time requirements. It can be used on hardware with too little RAM to support embedded Linux, which currently needs a minimum of about 2 MB of RAM, not including application and service needs.
eCos runs on a wide variety of hardware platforms, including ARM, CalmRISC, FR-V, Hitachi H8, IA-32, Motorola 68000, Matsushita AM3x, MIPS, NEC V8xx, Nios II, PowerPC, SPARC, and SuperH.
Included with the eCos distribution is RedBoot, an open source application that uses the eCos Hardware Abstraction Layer to provide bootstrap firmware for embedded systems.
History
eCos was initially developed by Cygnus Solutions which was later bought by Red Hat. In early 2002, Red Hat ceased development of eCos and laid off the staff that were working on the project.[3] Many of the laid-off staff continued to work on eCos, and some formed their own companies providing services for the software. In January 2004, at the request of the eCos developers, Red Hat agreed to transfer its eCos copyrights to the Free Software Foundation.[4] The transfer was executed in October 2005 and finally implemented in May 2008.
Non-free versions
The eCosPro real-time operating system is a commercial fork of eCos created by eCosCentric which incorporates proprietary software components. It is claimed as a "stable, fully tested, certified and supported version",[5] however, some of the additional features have not been released as free software.
Criticisms
The FreeBSD TCP/IP network stack port included with eCos is out of date—circa 2001—and exposes systems using such to numerous security and stability vulnerabilities (FreeBSD RELENG 4 4 0 RELEASE for IPv4 and FreeBSD's origin KAME for IPv6). Official eCos maintainers do not appear to monitor FreeBSD or KAME for security or stability updates, but rather rely on minimal and insufficient bug reports from users of eCos.
The SNMP package is rudimentary at best, once again, apparently due to its age.
See also
References
- ^ eCos official website. "eCos License Overview". http://ecos.sourceware.org/license-overview.html. Retrieved 2009-06-22. "eCos is released under a modified version of the well known GNU General Public License (GPL)."
- ^ Larmour, Jonathan (May 2005). "How eCos can be shrunk to fit" (PDF). Embedded Systems Europe: pp. 34. http://i.cmpnet.com/embedded/europe/esemay05/esemay05p32.pdf
- ^ "Red Hat backs away from eCos?". linuxdevices.com. 2002-06-19. http://www.linuxdevices.com/news/NS5933176616.html. Retrieved 2007-04-01.
- ^ "Red Hat to contribute copyrights held in the eCos code base to the Free Software Foundation" (Press release). Red Hat. 2004-01-13. http://www.redhat.com/about/presscenter/2004/press_eCosFSF.html.
- ^ "eCosCentric announces eCosPro Developer's Kit" (Press release). OSNews. 2003-09-02. http://www.osnews.com/story.php?news_id=4395. Retrieved 2007-03-31.
External links
- eCos Homepage
- "eCos Porting Guide" article by Anthony J. Massa 2001-12-28
- "Embedded Software Development with eCos" book by Anthony J. Massa 2002-11-25, ISBN 0-13-035473-2
- eCosCentric web site