beautypg.com

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

background image

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]