9 no user-loader segment, 2 .6 .9 no user-loader segment -21, Maxq610 user’s guide – Maxim Integrated MAXQ610 User Manual
Page 25

2-21
MAXQ610 User’s Guide
2.6.9 No User-Loader Segment
For devices with only two memory segments, the user-loader memory region is excluded, leaving only the system
memory region and the user-application memory region . To support the two-segment memory configuration, the flash
word at address 000Fh that is normally used to supply the value of the starting page for the user loader (for writing to
ULDR) is used instead to supply a value for the starting page of the user application . For the utility ROM to contextually
know that the aforementioned flash word is meant to supply information about the UAPP starting page instead of the
ULDR starting page, the most significant bit in this word must be set to 1 . Thus, if system code is to exclude the user
loader, the following code would be used and the program memory segmentation map would change accordingly .
org 0000h
; Reset
move CP, #usr_app_page
move UAPP, @CP
move ULDR, UAPP
; set ULDR=UAPP
jump sys_init
org 000Fh
user_app_page:
; Starting page address of user application (no user loader)
dw 8020h ; Page 32, msbit=1
org 0010h
; System password
Figure 2-8. Program Memory Segmentation (Only Two Segments)
USER APPLICATION START PAGE
PROGRAM MEMORY
UTILITY ROM
+x0010
UAPP
x0020
x0010
x0000
DEBUG LOCK
NOTE: MSB OF UAPP_start_page VALUE
SHOULD BE 1 FOR PROPER UROM JTAG
LOADER CONTEXT.
x000E x000F
+x000F
15
xFFFF
xA000
x8000
x0000
0
USER APPLICATION PASSWORD +(0010h TO 001Fh)
INTERRUPT VECTOR TABLE
SYSTEM PASSWORD (0010h TO 001Fh)
RESET VECTOR
UAPP_start_page
USER APPLICATION STARTUP
SYSTEM MEMORY, PAGE 0
SYSTEM CODE
USER APPLICATION