
MAXQ612/MAXQ622 User’s Guide
2-6 Maxim Integrated
2.3 Memory Organization
Beyond the internal register space, memory on the MAXQ612/MAXQ622 microcontrollers 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 FFFFh (128KB). 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.
Program flash memory provides in-system programming capability, 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 MAXQ612/
MAXQ622 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]
Comentarios a estos manuales