Zilog ZUSBOPTS User Manual
Page 333
UM017105-0511
Programmer’s Model of ZNEO Memory
Zilog Developer Studio II – ZNEO™
User Manual
305
The EROM range extends to the highest nonvolatile memory address in the target system.
ZDS II requires the highest EROM address to fall below the specified ERAM (if present)
and RAM ranges.
Normally, the EROM range begins immediately above the ROM range, but this is not
required. The EROM range can include both internal Flash and external nonvolatile mem-
ory, if present. The EROM range is the primary location for storing executable code in
most applications.
Extended RAM (ERAM).
The ERAM address range identifies any 32-bit addressed ran-
dom access memory on the target. In current ZNEO CPU-based devices, ERAM is always
external memory. The ERAM range must begin above the highest EROM address. Also,
the ZDS II GUI does not allow an ERAM starting address below
80_0000H
. An address
gap is allowed between the EROM and ERAM ranges. The C-Compiler does not support
gaps (holes) within the ERAM range.
The highest ERAM address must fall below the specified RAM address range. (Any exter-
nal volatile memory that is present at or above FF_8000H is 16-bit addressable, so it
should be assigned to the RAM range.) The ERAM address range can be used for data,
stack, or executable code. For details, see the
Internal RAM (RAM).
Typically
FF_B700H-FF_BFFFH
for 2KB internal RAM or
FF_B000H-FF_BFFFH
for 4KB internal RAM. Despite its name, this range can be
expanded up to
FF_8000H-FF_BFFFH
if the target system provides external random
access memory to fill out this address range. This GUI field does not allow a high RAM
address boundary above
FF_BFFFH
.
The RAM address range is addressable using either 16 or 32 bits (the ZNEO CPU sign-
extends 16-bit addresses). The C-Compiler does not support gaps (holes) within the RAM
range.
ZDS II uses the RAM address range for nonpermanent storage of data during program exe-
cution. ZDS II can be configured to place code in the RAM address range, if desired. For
more information, see the
Special Function Registers and IO (IODATA).
Typically
FF_C000H
-
FF_FFFFH
. The
microcontroller reserves addresses
FF_E000H
and above for its special function registers,
on-chip peripherals, and I/O ports. The ZDS II GUI expects addresses
FF_C000H
to
FF_DFFFH
to be used for external I/O (if any) on the target system.
The IODATA address range is addressable using 16 or 32 bits (the ZNEO CPU sign-
extends 16-bit addresses). ZDS II does not support placing executable code in the
IODATA space.
Figure 131 on page 306 illustrates typical contents of the five ZDS II address ranges and
an example of how they might map to a target’s physical memory.