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.

We achieve fine-grained configurability by organizing eCos into a component architecture, with a language to describe the constraints between components and individual configuration options. This infrastructure is necessary to resolve inconsistent configurations. One example of an inconsistency would arise, for example, if a user disabled 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 for your needs is located in Chapter 14. The eCos User's Guide has complete information on running the graphical Configuration Tool. The eCos Reference Manual has a part which documents every package, component, and configuration option that is part of eCos.