beautypg.com

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

Page 25

background image

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