Zilog EZ80F916 User Manual
Page 256

UM014423-0607
Using the Linker/Locator
ZiLOG Developer Studio II
eZ80Acclaim!
®
User Manual
236
“Segments” on page 184 for more information about using predefined segments,
defining new segments, and attaching code and data to segments.
The memory range for the default segments depend on the particular eZ80Acclaim!
family member. The memory available to your application is given by the linker
address spaces, which are described next and whose configuration through the IDE is
covered in “Project Settings—Address Spaces Page” on page 89.
•
Address spaces
An address space, as this term is used in the linker, corresponds to a logical block of
memory on the target processor that is used for a broad functional purpose. These
“logical” address spaces are often correlated with the physical types of memory
available to the processor. However, the address space names used by the linker really
refer just to the way the memory is intended to be used in your application and do not
necessarily reside in the physical memory type that are expected from their names. As
an example, in the eZ80Acclaim!’s All RAM Link Configuration, both the RAM
address space (used for data storage) and the ROM address space (used for code
storage) are physically mapped to RAM memory. In this case, the address spaces
partition that physical memory into two logical address spaces. For more information
about address spaces, see “Address Spaces” on page 183.
•
Groups
Groups are collections of logical address spaces. They are typically used to
conveniently handle a set of address spaces. For example, in some project
configurations, the ROM and RAM address spaces are grouped together to form the
MEMORY group.
•
Copy segments
Copy segments are segments of initialized data that are re-assigned to another address
space (the copy segment) by the linker. A startup routine typically moves data from
the copy segment into the original address space to initialize data before invoking a
program.
NOTE: By default, allocation for a given memory group, address space, or segment starts at the
lowest defined address for that memory group, address space, or segment. If you explicitly
define an assignment within that memory space, allocation for that space begins at that
defined point and then occupies subsequent memory locations. For more information, see
“BASE OF Versus LOWADDR OF” on page 260.
LINKER INTERACTIONS WITH THE COMPILER AND ASSEMBLER
The ZiLOG linker enables developers to control how source code is loaded into a target
processor. This section provides an overview of what the linker does and how it interacts
with the ZDS II compiler and assembler and with target hardware. For details of linker
command syntax, see “Linker Commands” on page 247.