Customizing start-up files – Zilog Z8F0130 User Manual
Page 268
![background image](https://www.manualsdir.com/files/771166/content/doc268.png)
Using the ANSI C-Compiler
UM013037-1212
244
Zilog Developer Studio II – Z8 Encore!
User Manual
Customizing Start-Up Files
The C start-up object files provided with the Z8 Encore! C Compiler are generic files and
can be tailored to meet the application requirements. Before modifying the C start-up
module, perform the following steps:
1. Copy the corresponding C start-up source file to a new file in your project directory.
For the small model, use
startups.asm
as the file from which you copy; for the
large model, use
startupl.asm
.
2. Add the newly copied C start-up file to your project files by using the Add Files com-
mand from the
Project
menu.
3. Select the Settings command from the
Project
menu.
The
Project Settings
dialog box is displayed.
4. Select the Objects and Libraries page.
5. Select the
Included in Project
and
Use Standard Start-Up Linker Commands
checkboxes.
Use the following guidelines when customizing the C start-up file:
•
If you do not have any uninitialized global or static variables in near memory, the
start-up file does not have to clear the near uninitialized variables to zero.
As an example, for the large model:
near int val; // Not OK to skip clearing uninitialized near
data:
// Uninitialized global in near memory
int val ; // OK to skip clearing uninitialized near data:
// Uninitialized global in far memory
For the small model:
int val; // Not OK to skip clearing uninitialized near data:
// Uninitialized global in near memory
far int val ; // OK to skip clearing uninitialized near data:
// Uninitialized global in far memory
Alternatively, if your application does not assume that the near 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
:
CLRRRAM SET FALSE
•
If you do not have any initialized global or static variables in near memory, the start-
up code does not have to set the initialized global and static near variables to their ini-
tial value from ROM.
As an example, for the large model:
- Z8F0131 Z8F0230 Z8F0231 Z8F0430 Z8F0431 Z8F043A Z8F0830 Z8F0831 Z8F083A Z8F1232 Z8F1233 Z8F0113 Z8F011A Z8F0123 Z8F012A Z8F0213 Z8F021A Z8F0223 Z8F022A Z8F0411 Z8F0412 Z8F0413 Z8F041A Z8F0421 Z8F0422 Z8F0423 Z8F042A Z8F0811 Z8F0812 Z8F0813 Z8F081A Z8F0821 Z8F0822 Z8F0823 Z8F082A Z8F0880 Z8F1621 Z8F1622 Z8F1680 Z8F1681 Z8F1682 Z8F2421 Z8F2422 Z8F2480 Z8F3221 Z8F3222 Z8F3281 Z8F3282 Z8F4821 Z8F4822 Z8F4823 Z8F6081 Z8F6082 Z8F6421 Z8F6422 Z8F6423 Z8F6481 Z8F6482 Z8FS021A ZMOT1AHH Z8FS040B ZMOT0BHH ZMOT0BSB Z8FMC04 Z8FMC08 Z8FMC16