3 memory organization, 1 program memory, 2 utility rom – Maxim Integrated MAXQ610 User Manual
Page 10: 2 .3 memory organization -6, 2 .3 .1 program memory -6 2 .3 .2 utility rom -6, Maxq610 user’s guide
2-6
MAXQ610 User’s Guide
2.3 Memory Organization
Beyond the internal register space, memory on the MAXQ610 microcontroller is organized according to a Harvard
architecture, with a separate address space and bus for program memory and data memory .
To provide additional memory map flexibility, program memory space can be made accessible as data space, allowing
access to constant data stored in program memory .
2.3.1 Program Memory
Program memory begins at address 0000h and is contiguous through 7FFFh (64KB) . Program memory is accessed
directly by the program fetching unit and is addressed by the instruction pointer register . From an implementation
perspective, system interrupts and branching instructions simply change the contents of the instruction pointer and
force the op code fetch from a new program location . The instruction pointer is direct read/write accessible by the user
software; write access to the instruction pointer forces program flow to the new address on the next cycle following
the write . The content of the instruction pointer is incremented by one automatically after each fetch operation . The
instruction pointer defaults to 8000h, which is the starting address of the utility ROM . The default IP setting of 8000h is
assigned to allow initial in-system programming to be accomplished with utility ROM code assistance . The utility ROM
code interrogates a specific register bit in order to decide whether to execute in-system programming or jump imme-
diately to user code starting at 0000h . The user code reset vector is stored in the lowest bytes of the program memory .
ROM-only versions of the MAXQ610 require program code to be masked into the program ROM during chip fabrica-
tion; no write access to program memory is available . Program flash memory provides in-system programming capa-
bility, but requires that the memory targeted for the write operation be programmed (erased) . The utility ROM provides
routines to carry out the necessary operations (erase, write, verify) on flash memory .
2.3.2 Utility ROM
A utility ROM is placed in the start of the upper half of the program memory space starting at address 8000h . This utility
ROM provides the following system utility functions:
• Reset vector
• Bootstrap function for system initialization
• Utility functions to match/query customer specific secrets to prevent loading and/or operation on generic MAXQ610
parts
• In-application programming (flash versions only)
• In-circuit debug (flash versions only)
Table 2-1. Register-to-Register Transfer Operations
SOURCE REGISTER
SIZE (BITS)
DESTINATION
REGISTER SIZE
(BITS)
PREFIX SET?
DESTINATION SET TO VALUE
HIGH 8 BITS
LOW 8 BITS
8
8
—
Source[7:0]
8
16
No
00h
Source[7:0]
8
16
Yes
Prefix[7:0]
Source[7:0]
16
8
—
Source[7:0]
16
16
No
Source[15:8]
Source[7:0]