Program Memory; Data Memory; Internal Data Memory - Infineon Technologies XC800 User Manual

Table of Contents

Advertisement

1.3.2

Program Memory

Up to 1 Mbyte of synchronous or asynchronous internal and/or external program
memory is supported. Program memory extension, if supported by the XC800 derivative,
is accomplished with a 4-bit Current Bank pointer (CB). The program code is fetched
from the 64-Kbyte block pointed to by CB. The minimum supported code space is
therefore 64 Kbytes.
If the internal program memory is used, the EA (External Access) pin must be held at
high level. With EA held high, the microcontroller executes instructions internally unless
the address (Program Counter) is outside the range of the internal program memory. In
this case, dynamic code fetch from internal and external program memory is supported
if the external memory bus is available on the derivative. If the EA pin is held at low level,
the microcontroller executes program code from external program memory, instead of
from internal memory. The general exception is for accesses to address ranges of the
active Boot ROM, internal XRAM and code-space data (e.g., Data Flash), where fetch is
always from the internal memory regardless of the status of EA pin.
Most XC800 derivatives include a section for Boot ROM code, the size of which depends
on the derivative. Usually, the Boot ROM code is executed first after reset where the Boot
ROM is mapped starting from base address 0000
code will switch the memory mapping so that before control is passed to the user code,
the standard memory map (of the derivative) is active where user code could run starting
from address 0000
For program memory implemented as RAM, the XC800 core supports write to program
memory with the instruction MOVC @(DPTR++),A. This is generally supported by the
XC800 derivatives for writes to internal memory only.
1.3.3

Data Memory

The data memory space consists of internal and external memory portions. The internal
data memory area is addressed using 8-bit addresses. The external data memory and
the internal XRAM data memory are addressable by 8-bit or 16-bit indirect address with
'MOVX', additionally with up to 4-bit for selection of extended memory bank (maximum
1 Mbyte).
1.3.3.1

Internal Data Memory

The internal data memory is divided into two physically separate and distinct blocks: the
256-byte RAM and the 128-byte SFR area. While the upper 128 bytes of RAM and the
SFR area share the same address locations, they are accessed through different
addressing modes. The lower 128 bytes of RAM can be accessed through either direct
or register indirect addressing while the upper 128 bytes of RAM can be accessed
through register indirect addressing only. The special function registers are accessible
through direct addressing.
User's Manual, V 0.1
.
H
of the code space. The Boot ROM
H
1-5
XC800
Fundamental Structure
2005-01

Advertisement

Table of Contents
loading

Table of Contents