Ez80acclaim! address spaces, Segments, Ez80acclaim! address spaces segments – Zilog EZ80F916 User Manual

Page 258

Advertising
background image

UM014423-0607

Using the Linker/Locator

ZiLOG Developer Studio II

eZ80Acclaim!

®

User Manual

238

are shown (

one.obj

,

two.obj

, and

three.obj

), each module containing a combination

of U, V, W, X, Y, and Z segments.

The linker has no information about the source of the object (*

.obj

) modules but pro-

cesses a sequence of modules (in alphabetical order, by default), resolving references
between the modules and then loading the segments into the appropriate address spaces.
The resolution and loading occurs after the linker has read in the linker command file.
This file, containing commands that control linker actions such as the assignment of seg-
ments to spaces, is automatically generated by ZDS II when a project is built for the first
time. You can then edit the linker command file to change linker behavior if needed. The
linker command file gives a description of how to link the modules, providing a non-pro-
cedural description of the linking process. The elements of a typical linker command file
for a C project are discussed in “Linker Command Files for C Programs” on page 158.

eZ80Acclaim! Address Spaces

Every byte generated by the compiler or assembler eventually gets assigned to an address
space by the linker. Address spaces represent physical or logical architecture divisions.
Each space has physical or logical attributes that characterize it. A space might, for exam-
ple, use special addressing modes or have alignment restrictions.

Spaces can also indicate separate physical memories. Within each space, segments can be
defined that can affect instruction speed or availability.

The ZDS II compiler and assembler for eZ80Acclaim! predefine four address spaces:

ROM (read-only space)

RAM (random-access/writable space)

EXTIO (16-bit addressable space for I/O)

INTIO (8-bit addressable space for I/O)

These spaces contain the logical components of an application. The linker command file
specifies how these logical spaces are mapped to the physical addresses on the target
board. For more information about address spaces, see “Address Spaces” on page 183.

Segments

The ZDS II compiler and assembler define the following segments:

.IVECTS (segment type for interrupt vectors; address space is ROM)

.RESET (segment type for reset handler code; address space is ROM)

CODE (segment type for CODE; address space is ROM)

This is the default segment for assembler code.

BSS (segment type for uninitialized data; address space is RAM)

Advertising
This manual is related to the following products: