Zilog ZUSBOPTS User Manual
Page 332

Programmer’s Model of ZNEO Memory
UM017105-0511
304
Zilog Developer Studio II – ZNEO™
User Manual
•
Data in 16-bit addressable memory can be addressed with short pointers and instruc-
tions, so using these spaces for data results in more compact code. However, 16-bit
addresses can access only two 32 KB areas – one in low memory and one in high
memory – so data-intensive applications might also need to use some 32-bit addressed
memory for data.
•
Program code is always fetched using the 32-bit program counter; therefore there are
no addressing restrictions for program code. Placing as little program code as possible
into the 16-bit addressable (for data) space leaves more memory available in that
space for data.
•
The ZNEO microcontroller I/O and special function registers are located in the high-
est 8 KB of its 24-bit address space, and extra chip selects are available for external I/O
in the space immediately below internal I/O. Locating I/O functions in the high-mem-
ory 16-bit addressable space allows efficient access to I/O devices.
ZDS II uses five configurable memory ranges to associate a functional purpose to each
part of the target system’s physical memory map. You can configure the address ranges for
each function in the Linker page of the
Project Settings
dialog box (see the
section on page 68). Each address range has a corresponding
mnemonic that is used with the assembly language SPACE keyword. The five address
ranges and their SPACE mnemonics are:
Constant data (ROM).
This range is typically
00_0000H-00_1FFFH
for devices with 32
KB of internal Flash,
00_0000H-00_3FFFH
for devices with 64 KB of internal Flash, and
00_0000H-00_7FFFH
for devices with 128 KB of internal Flash. The lower boundary
must be
00_0000H
. The upper boundary can be lower than
00_7FFFH
, but no higher.
Data in this range is addressable using 16 or 32 bits.
The ROM address range includes the ZNEO CPU option bytes and vector table. The C-
Compiler uses the ROM range for constant data, data tables, and start-up code. The assem-
bly language programmer can place any executable code in the ROM range if desired.
The ROM range typically includes only internal Flash, but can include external nonvola-
tile memory if, for example, internal Flash is disabled.
To use any external memory provided on the target system, you must configure the mem-
ory’s chip select in the Configure Target dialog box. See the
Program space (EROM).
Identifies any 32-bit addressed nonvolatile memory space out-
side the ROM range. This range is typically
00_2000H-00_7FFFH
for devices with 32
KB of internal Flash,
00_4000H-00_FFFFH
for devices with 64 KB of internal Flash, and
00_8000H-01_FFFFH
for devices with 128 KB of internal Flash. Specify a larger range
only if the target system provides external nonvolatile memory.
Note: