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
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