beautypg.com

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

Page 265

background image

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

This manual is related to the following products: