Chapter 28. Manual Configuration

Table of Contents
Directory Tree Structure
Creating the Build Tree
Conflicts and constraints
Building the System
Packages
Coarse-grained Configuration
Fine-grained Configuration
Editing an eCos Savefile
Editing the Sources
Modifying the Memory Layout

eCos developers will generally use the graphical Configuration Tool for configuring an eCos system and building the target library. However, some user prefer to use command line tools. These command line tools can also be used for batch operations on all platforms, for example as part of a nightly rebuild and testing procedure.

In the current release of the system the command line tools do not provide exactly the same functionality as the graphical tool. Most importantly, there is no facility to resolve configuration conflicts interactively.

The eCos configuration system, both graphical and command line tools, are under constant development and enhancement. Developers should note that the procedures described may change considerably in future releases.

Directory Tree Structure

When building eCos there are three main directory trees to consider: the source tree, the build tree, and the install tree.

The source tree, also known as the component repository, is read-only. It is possible to use a single component repository for any number of different configurations, and it is also possible to share a component repository between multiple users by putting it on a network drive.

The build tree contains everything that is specific to a particular configuration, including header and other files that contain configuration data, and the object files that result from compiling the system sources for this configuration.

The install tree is usually located in the install subdirectory of the build tree. Once an eCos system has been built, the install tree contains all the files needed for application development including the header files and the target library. By making copies of the install tree after a build it is possible to separate application development and system configuration, which may be desirable for some organizations.