User guide

4: ICP Download, Configuration, and Initialization
DC 900-1338I 77
Continuing this example, assume that the
xio_6000.xrf file shows 0x400045BE as the
system services module ending address. When the module is downloaded, the excep-
tion vector table, fixed data, and code occupy 0x33BE bytes at memory locations
0x40001200 (starting load address) through 0x400045BE. After operating system ini-
tialization is finished using the configuration table in our example, an additional 0xBB4
bytes is used for system stacks and configurable variables. The first free byte following
system memory is then 0x400045BE + 0xBB4 + 2 (for an even multiple of four), or
0x40005174. This address can be verified by checking the
gs_ramend field of the global
system table after the system has been downloaded and initialized. The global system
table is defined in the OS/Impact Programmer Guide.
4.3.2 Configuration and System Performance
The following fields of the configuration table define the number of control structures
to be allocated during system initialization:
As described in Section 4.3.2.1, the values of these fields, no matter how large, have no
effect on system performance. The
cf_nprior field determines the number of task prior-
ities in the system and affects performance as described in Section 4.3.2.2. The
cf_ltick
field determines the length of a tick and the cf_lslice field determines the length of a
time slice. The relationships of these fields to system performance are discussed in
Section 4.3.2.3.
cf_ntask Task control blocks and task alarm control blocks
cf_nque Queue control blocks
cf_nalarm Alarm control blocks
cf_npart Partition control blocks
cf_nresrc Resource control blocks