Screen Layout
To Contents | To previous page | To next page

## Screen Layout

The following windows are available within the eCos Configuration Tool:

- Configuration Window

- Properties Window

- Short Description

- Memory Layout

- Conflicts

- Output

The layout of the windows my be adjusted to suit your preferences: see Settings .

### Configuration Window

This is the principal window used to configure eCos. It takes the form of a tree-based representation of the configuration items within the currently loaded eCos packages.

In the case of items whose values may be changed, controls are available to set the item values. These either take the form of check boxes or radio buttons within the tree itself or cells to the right of the thin vertical splitter bar. Controls in the tree may be used in the usual way; cells, however, must first be activated.

To activate a cell, simply click on it: it will assume a sunken appearance and data can then be edited in the cell. To terminate in-cell editing, click elsewhere in the configuration window or press ENTER. To discard the partial results of in-cell editing and revert to the previous value, press ESCAPE. Note that an asterisk appears

against configuration items which have changed since the configuration was last saved.

Cells come in three varieties, according to the type of data they accept:

Cell Type | Data Accepted
Integer | Decimal or hexadecimal values
Floating Point | Floating point values
String | Any

In the case of string cells, you can double-click the cell to display a dialog box containing a larger region in which to edit the string value. This is useful in the case of long strings, or those spanning multiple lines.

#### Disabled items

Some items will appear disabled. In this case the item label and any associated controls and cells will be grayed. It is not be possible to change the values of disabled items.

##### Right-Clicking

You can right-click on an item in the configuration window item to display a pop-up menu which (depending on the type of the item selected) allows you to:

- Properties - information relating to the currently selected item is displayed. The information is equivalent to that displayed in the Properties Window.

- Restore Defaults - the default value of the currently selected item is restored.

- Visit Documentation - causes the HTML page most closely relating to the currently selected item to be displayed. This has the same effect as double-clicking the URL property in the Properties Window.

- View Header File - this causes the file containing the items to be displayed. This is equivalent to double-clicking on the File property in the Properties Window. The viewer used for this purpose may be changed using the ViewSettings menu item (see Settings ). Note that this operation is only possible when the current configuration is saved, in order to avoid the possibility of changing the source repository.

- Unload Package - this is equivalent to using the BuildPackages menu item to select and unload the package in question.

#### Conflicts Window

This window exists to display any configuration item conflicts. Conflicts are the result of failures to meet the requirements between configuration items expressed in the CDL. See "Conflicts" in CDL Concepts .

The window comprises three columns:

- Item

This is the macro name of the first item involved in the conflict.

- Conflict

This is a description of the conflict type. The currently supported types are "unresolved", "illegal value", "evaluation exception", "goal unsatisfied" and "bad data".

- Property

This contains a description of the configuration item's property that caused the conflict.

Within the conflicts window you can right-click on any item to display a context menu which allows you to choose from one of the following options:

- Locate the item involved in the conflict - this will cause the configuration window to display the item relating most closely to the selected conflict.

You can use the ToolsResolve Conflicts menu item to resolve conflicts - see Resolving conflicts .

#### Output Window

This window displays any output generated by execution of external tools and any error messages that are not suitable for display in other forms (for example, as message boxes).

Within the output window you can right-click to display a context menu which allows you to:

- Save the contents of the window to a file

- Clear the contents of the window

#### Properties Window

This window displays the CDL properties of the item currently selected in the configuration window. The same information may be displayed by right-clicking the item and selecting "properties".

Two properties may be double-clicked as follows:

- URL - double-clicking on a URL property causes the referenced HTML page to be displayed. This has the same effect as right-clicking on the item and choosing "Visit Documentation".

- File - double-clicking on a File property in a saved configuration causes the File to be displayed. The viewer used for this purpose may be changed using the ViewSettings menu item. Note that this operation is only possible when the current configuration is saved, in order to avoid the possibility of changing the source repository.

#### Short Description Window

This window displays a short description of the item currently selected in the configuration window. More extensive documentation may be available by right-clicking on the item and choosing "Visit Documentation".

#### Memory Layout Window

The memory layout window presents a graphical view of the memory layout of the currently selected combination of target architecture, platform and start-up type. Each memory region is represented by a horizontal bar within the window. Each bar is further divided into a number of blocks representing memory sections. Unused parts of a memory section are represented using hatching. All numeric information is presented in hexadecimal format:

Default memory layouts are provided for all supported platforms; you do not need to edit these layouts in order to begin development on standard, supported, eCos platforms. However, you may need to modify the memory layouts at certain times, for example when additional memory is installed on an evaluation board. When the memory layout is modified, a new linker script fragment is generated to allow the linker to make use of the new memory.

##### Layout Manipulation

The memory layout window includes controls to create, delete and modify the properties of both memory regions and memory sections (collectively referred to as memory items). These manipulation functions are accessible from both memory items and from the memory layout toolbar, which may be shown or hidden by the ViewToolbarsMemory Layout menu item. When modifying or deleting an item, it is necessary to first select it with your mouse. The currently selected item is displayed with a focus rectangle (as section rodata above). Creation and modification of a memory item is achieved using a property sheet. The property sheet for a memory item may also be accessed by double-clicking on the item in the memory window.

##### Memory Regions

Details of a memory region may be specified using the region properties sheet, displayed by double-clicking on the name of the memory region in the memory layout display. The general settings page of this sheet allows editing of the region parameters:

The name of each memory region is arbitrary, but should not contain spaces or punctuation characters. The start address and size of each memory region is specified in bytes and entered as hexadecimal numbers. The Read Only check box should be checked where the memory region represents a block of read-only memory. This information is used to verify that the initial and final locations of any relocating memory sections are within appropriate memory regions.

The Note page of the region properties sheet may be used to keep notes concerning the memory regions. These notes are saved with the memory layout in the build tree.

##### Memory sections

Details of a memory section may be specified or modified using the section properties sheet. The general settings page of this sheet allows editing of the parameters which are common to all sections:

Each memory section is either linker-defined or user-defined. The name of a linker-defined section is selected from a drop-down list appropriate for the currently selected target architecture. Only those names which are not currently in use are presented. The name of a user-defined section must not contain spaces or punctuation characters. The size of a user-defined section may also be specified by checking the Known Size check box. The size should then be entered as a hexadecimal number. User-defined sections of unknown size are assumed to occupy all available space up to the next section or the end of the memory region.

The final memory location after relocation (also known as VMA) of a memory section may be defined using an absolute start address or by specifying another section which it follows in the memory map. Where an absolute address is required, this should be entered as a hexadecimal number.

Alternatively, the preceding section may be selected from a drop-down list of appropriate existing sections. In this case, the alignment of the section in terms of an n-byte boundary should also be selected.

The relocation settings page allows editing of the parameters which are specific to relocating sections:

The relocation of a memory section at system start-up is enabled by checking the Relocate Section check box. The initial size to which the memory section is loaded (also known as the LMA) may be defined using an absolute start address or by specifying another section which it follows in the memory map. Where an absolute address is required, this should be entered as a hexadecimal number. The address must lie within a read-only memory region. Alternatively, the preceding section may be selected from a drop-down list of appropriate existing sections. The initial location of the preceding section must be a location in a read-only memory region.

The note page of the section properties sheet may be used to keep notes concerning the memory section. These notes are saved with the memory layout in the build tree.

##### Memory access

User-defined memory sections may be accessed using C preprocessor macros defined in a memory layout header file exported by the eCos Configuration Tool. The name of the memory layout header file appropriate for the current configuration is defined by the CYGHWR_MEMORY_LAYOUT configuration item.

Macros specifying the start address and size are defined for each user-defined memory section and may be accessed as demonstrated in the following example:

Accessing a user-defined memory section named example

    #include <pkgconf/system.h>
    #include CYGHWR_MEMORY_LAYOUT_H

    int main ()
    {
     // use the memory section as an integer array
     int * array = (int *) CYGMEM_SECTION_example;
     unsigned int array_size = CYGMEM_SECTION_example_SIZE / sizeof (int);

     // initialize each array element
     unsigned int count;
     for (count = 0; count < array_size; ++count)
     array [count] = 0;

     return 0;
    }

Screen Layout
To Contents | To previous page | To next page