Figure 2-8 . overview of memory regions -21 – Maxim Integrated MAXQ622 User Manual
Page 25

MAXQ612/MAXQ622 User’s Guide
Maxim Integrated
2-21
Figure 2-8 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 .
Figure 2-8. Overview of Memory Regions
ULDR
UAPP
0000
TOP (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