3 memory organization -11 – Maxim Integrated MAXQ7666 User Manual
Page 13

1.2.3 Memory Organization
Beyond the internal register space, memory on the MAXQ7665/MAXQ7666 microcontrollers is organized according to a Harvard archi-
tecture, with a separate address space and bus for program memory and data memory. Stack memory is also separate and is
accessed through a dedicated register set.
To provide additional memory map flexibility, an MMU allows data memory space to be mapped into a predefined program memory
segment, thus affording the possibility of code execution from data memory. Additionally, program memory space can be made acces-
sible as data space, allowing access to constant data stored in program memory. All memory is internal, and physical memory seg-
ments (other than the stack and register memories) can be accessed as either program memory or as data memory, but not both at
once.
1.2.3.1 Program Memory
The MAXQ7665/MAXQ7666 contain up to 64k x 16 (128kB) of flash memory, which normally serves as program memory. When exe-
cuting from the data SRAM or utility ROM, this memory is mapped to data space and can be used for lookup tables and similar func-
tions. Flash memory mapped into data space can be read from directly, like any other type of data memory. However, writing to flash
memory must be done by calling the in-application functions provided by the utility ROM. The utility ROM provides routines to carry
out the necessary operations (erase, write) on flash memory.
Table 1-3 summarizes the features of the flash memory supported in the MAXQ7665A–MAXQ7665D devices. The MAXQ7666 device
features a 256B data flash in addition to 16kB program flash. The MAXQ7666 flash is different from the MAXQ7665A–MAXQ7665D and
its features are summarized in Tables 1-4 and 1-5. Refer to the respective data sheets for additional information.
Program memory begins at address 0000h and is contiguous through the internal program memory. The actual size of the on-chip pro-
gram memory available for user application is product dependent. Given a 16-bit program address bus, the maximum program space
is 64kWords. Since the codewords are 16 bits, the program memory is, therefore, a 64k x 16 linear space.
MAXQ7665/MAXQ7666 User’s Guide
1-11
MODULE NAME (BASE SPECIFIER)
REGISTER
INDEX
M0
M1
M2
M3
M4
M5
M8
M9
M11
M12
M13
M14
M15
17h
C0M7C
18h
ICDT0
C0M8C
19h
ICDT1
C0M9C
1Ah
ICDC
C0M10C
1Bh
ICDF
C0M11C
1Ch
FADDR
ICDB
C0M12C
1Dh
SCON0
ICDA
C0M13C
1Eh
SMD0
ICDD
C0M14C
1Fh
PR0
C0M15C
RESERVED
OR
OPCO DE
PORT
PINS
(GPIO)
SERIAL
AND
SPI
INTERRUPT
CO NTROL
HARDWARE
MULTIPLIER
TIMERS
CAN
ANALOG
I/O
ACC ARRAY,
CO NTROL
OT HER
F UNCTIONS
Table 1-2. MAXQ7665/MAXQ7666 Register Modules (continued)
Maxim Integrated