Zilog Z8F0130 User Manual
Page 269
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