Configurability

The eCos kernel and other components can be configured in great detail at compile time, which means that no unwanted code makes its way into the library to be linked with the user’s application code, and there is no performance penalty for configuration.

Configuration is fine-grained, meaning that very small details of eCos’s behavior can be tuned by selecting configuration options.

eCos is organized into a component architecture, with a language to describe the constraints between components and individual configuration options. These constraints are necessary to resolve inconsistent configurations, such as a user disabling the code which handles the real-time clock, while enabling per-thread timers.

The designer of a component or general-purpose library should write configurable code using a component definition language (CDL), but once that is done there is no burden on the end user (an embedded systems programmer) who can use eCos’s graphical Configuration Tool to configure the kernel and basic libraries, and does not need to understand how the configuration infrastructure works.

A tutorial on how to configure eCos is located in Chapter 12. The eCos User’s Guide has complete information on running the Configuration Tool. The eCos Reference Manual documents every package, component, and configuration option that is part of eCos.