beautypg.com

7 loader access control, 2 .6 .7 loader access control -18, Figure 2-7 . overview of memory regions -18 – Maxim Integrated MAXQ610 User Manual

Page 22: Maxq610 user’s guide

background image

2-18

MAXQ610 User’s Guide

Figure 2-7 shows the code memory with passwords and the location of the values that are programmed into the ULDR/
UAPP registers .
The user loader starting page address is located at 0Fh, one word before the system password . The user application
starting page address is stored one word before the user loader password (i .e ., ULDR*Flash page size + 0Fh) .
The startup sequence is as follows:
1) The system resets at 8000h and starts running utility ROM code . On a 64KB part with flash pages of 512 bytes,

ULDR and UAPP are at their reset values of 80h (end of flash memory) . The PRIV register is at its reset value of
high . The MPE (memory protection enable bit) is at its reset value of 1 (enable) .

2) Utility ROM initialization code checks the system password and disables MPE if the password is empty .
3) After utility ROM initialization is complete, the utility ROM passes execution to system code memory at address

0000h .

4) System code starts executing and uses a CP of 0Fh to read the user loader starting page address and writes it into

the ULDR register .

5) After system initialization is complete, system code jumps to address ULDR*Flash page size + 0000h . This jump

automatically drops PRIV to medium .

6) The user-loader code starts executing and uses a CP of ULDR*Flash page size + 0Fh to read the user application

starting page address and writes it into the UAPP register .

7) After user loader initialization is complete, user-loader code jumps to address UAPP*Flash page size + 0000h . This

jump automatically drops PRIV to low .

2.6.7 Loader Access Control

As stated previously, the MAXQ610 has three memory regions: system, user loader, and application . The loader main-
tains a context register to determine which of the regions is to be the target of the loader commands . Family 0 and
Family F commands have no context . They are global in scope . For details on the nonparty-specific loader commands,
refer to Application Note 4012: Implementing a JTAG Bootloader Master for the MAXQ2000 Microcontroller .

Figure 2-7. Overview of Memory Regions

ULDR

UAPP

0000

TOP (64KB/128KB)

SYSTEM

USER

APPL

USER

LDR

RESET/STARTUP

DEBUG LOCK

SYS PASSWORD

USR LDR START

IVT IVT IVT

IVT IVT IVT

STARTUP

USR LDR PASSWORD

USR APP START

10h

20h

+10h

STARTUP

USR APP PASSWORD

+10h