eCos is distributed under the GPL
license with an exception which permits proprietary application code
to be linked with eCos without itself being
forced to be released under the GPL. It is also royalty and buyout
free.
As an Open Source project, eCos is
under constant improvement, with an active developer community, based
around the eCos web site at http://ecos.sourceware.org/.
Powerful GUI-based configuration system allowing both large and
fine grained configuration of eCos. This
allows the functionality of eCos to be
customized to the exact requirements of the application.
Full-featured, flexible, configurable, real time embedded
kernel. The kernel provides thread scheduling, synchronization,
timer, and communication primitives. It handles hardware resources
such as interrupts, exceptions, memory and caches.
The Hardware Abstraction Layer (HAL) hides the specific features
of each supported CPU and platform, so that the kernel and other
run-time components can be implemented in a portable fashion.
Support for µITRON and POSIX Application Programmer
Interfaces (APIs). It also includes a fully featured, thread-safe ISO
standard C library and math library.
Support for a wide variety of devices including many serial
devices, ethernet controllers and FLASH memories. There is also
support for PCMCIA, USB and PCI interconnects.
A fully featured TCP/IP stack implementing IP, IPv6, ICMP, UDP
and TCP over ethernet. Support for SNMP, HTTP, TFTP and FTP are also
present.
The RedBoot ROM monitor is an application that uses the
eCos HAL for portability. It provides
serial and ethernet based booting and debug services during
development.
Many components include test programs that validate the
components behaviour. These can be used both to check that hardware is
functioning correctly, and as examples of
eCos usage.
eCos documentation included this User
Guide, the Reference Manual and the Components Writer's Guide. These
are being continually updated as the system develops.