beautypg.com

Unconventional memory layouts – Zilog ZUSBOPTS User Manual

Page 335

background image

UM017105-0511

Programmer’s Model of ZNEO Memory

Zilog Developer Studio II – ZNEO™

User Manual

307

The following default segments are provided by the assembler and associated with spe-
cific address spaces as shown in the following table:

For a detailed description of these segments, see the

Predefined Segments

section on

page 213.

You can define your own segments in these address spaces using the DEFINE assembler
directive. For example:

DEFINE romseg, SPACE=ROM ; Defines the new segment romseg

SEGMENT romseg ; Sets the current segment to romseg

See the

User-Defined Segments

section on page 213 for further details.

Unconventional Memory Layouts

It might be necessary for a target design to locate memory or I/O in an address range that
the ZDS II GUI does not directly accommodate. Some GUI address range limitations can
be circumvented, as follows:

The GUI rejects an ERAM range lower boundary setting below

80_0000H

. If the tar-

get locates external volatile memory below this address, an unrestricted ERAM range
can be configured by adding an edited linker RANGE command to the

Additional

Linker Commands

field of the ZDS II project settings. For example, if the target pro-

vides 8MB of extended RAM at address

70_0000H

, you would use this command:

RANGE ERAM $700000 : $FEFFFF

The GUI rejects a RAM range upper boundary setting above

FF_BFFFH

. If the target

uses the space above this address for external volatile memory instead of external I/O,
a higher RAM upper boundary (up to

FF_DFFFH

) can be configured by adding an

edited linker RANGE command to the

Additional Linker Commands

field of the

ZDS II project settings. The debugger memory window always displays addresses
above

FF_BFFFH

as part of the I/O Data space, however. For example, if the target

provides 24KB of combined internal and external RAM beginning at

FF_8000H

, you

would use this command:

RANGE RAM $FF8000 : $FFDFFF

Address
Range (Space)

Segment

ROM

ROM_DATA, ROM_TEXT, __VECTORS

EROM

CODE, EROM_DATA, EROM_TEXT

RAM

NEAR_DATA, NEAR_BSS, NEAR_TEXT

ERAM

FAR_DATA, FAR_BSS, FAR_TEXT

IODATA

IOSEG

This manual is related to the following products: