Deprecated custom configuration, Components used in all linker configurations – Zilog EZ80F916 User Manual
Page 265

UM014423-0607
Using the Linker/Locator
ZiLOG Developer Studio II
eZ80Acclaim!
®
User Manual
245
Deprecated Custom Configuration
This configuration was provided in earlier releases of ZDS II for eZ80Acclaim! before the
4.10.0 release. It is supported for backward compatibility. In those earlier releases, this
configuration was called “Custom,” but, in fact, it was nearly identical to the Standard
configuration. The only difference was that the ordering of segments was left to the user
and that the
STRSECT
segment was left in RAM instead of ROM. That segment contains
string literals and should always be placed in ROM for production code but can be kept in
RAM at times for debugging.
In the 4.10.0 and subsequent releases of ZDS II, the Custom link configuration is used to
support truly customized link command files. ZiLOG recommends that if you have an
older project that used the Deprecated Custom configuration, you convert it either to the
Standard configuration (by changing to that setting and verifying that the minor changes in
link commands cause you no problems) or to the Custom configuration (by saving your
existing link command file and selecting the Use Existing button (see “Use Existing” on
page 83). At some future time, the Deprecated Custom configuration might no longer be
supported in ZDS II.
Components Used in All Linker Configurations
In a standalone application, components usually managed by an operating system must be
set up and managed as part of the C runtime. In particular, an embedded C application
might use the following components:
•
Stack
•
Heap
•
Other segments
•
Startup
The location of the stack and heap depend on the size of the application and the amount of
physical RAM available. Generally, the heap starts at the next address just beyond the last
allocated address in the RAM space and grows towards higher numbered addresses. The
stack generally starts at the highest possible address in physical RAM and grows towards
lower numbered addresses. The linker provides expressions that simplify placing the stack
and heap at appropriate addresses. For example, the linker
TOP OF RAM
expression repre-
sents the address of the last byte allocated in the RAM space. The following expression
can be used to set the lowest address of the heap:
define __heapbot = top of RAM + 1
Similarly, the linker
HIGHADDR OF RAM
command represents the highest numbered phys-
ical address in the RAM space. Setting the starting address for the stack can be done with
the following:
define __stack = HIGHADDR of RAM