Zilog Z8F0130 User Manual

Page 269

Advertising
background image

UM013037-1212

Customizing Start-Up Files

Zilog Developer Studio II – Z8 Encore!

User Manual

245

near int val = 20; // Not OK to skip initializing near data:

// Initialized global in near memory

int val = 20; // OK to skip initializing near data:

// Initialized global in far memory

For the small model:

int val = 20; // Not OK to skip initializing near data:

// Initialized global in near memory

far int val = 20; // OK to skip initializing near data:

// Initialized global in far memory

Alternatively, if your application does require global or static variables in near mem-
ory to have initialized values and you perform the initialization in your program as
part of the code, the start-up code does not have to perform this function.

For example:

near int val;

void main (void)

{

val = 20; // Initialization performed as part of the code

}

This can be achieved by adding the following just before

segment startup

.

COPYRRAM SET FALSE

If you do not have any uninitialized global or static variables in far memory, the start-
up code does not have to clear the far uninitialized variables to zero.

As an example, for the small model:

far int val; // Not OK to skip clearing uninitialized far data:

// Uninitialized global in far memory

int val ; // OK to skip clearing uninitialized far data:

// Uninitialized global in near memory

For the large model:

int val; // Not OK to skip clearing un-initialized far data:

// Uninitialized global in far memory

near int val ; // OK to skip clearing un-initialized far data:

// Uninitialized global in near memory

Alternatively, if your application does not assume that the far uninitialized global or
static variables are initialized to zero by the C start-up module, the start-up code does
not have to perform this function.

This can be achieved by adding the following code just before

segment startup

.

CLRERAM SET FALSE

Advertising