Datasheet
6–3
The following example demonstrates how to implement and test the emergency come-back to the monitor
routine:
1. Set the variable DVLP to 0 after the routine has been successfully tested in RAM. The variable
TRIAL indicates the number of interrupt tables that have been burned. The last necessary input
is the start address BEGIN.
2. Insert the address where the program is stored. To find a free section in EPROM, use the m or
the e command.
3. The terminal is switched off and the program enters an endless loop after burning the program
and executing a reset, or after starting it with the go command.
4. To come back to the monitor, press and hold down the demo button and press the button.
;****************************************************************************
; Demo for Emergency Burn-over of already written ID = AA55h
;****************************************************************************
DVKO .set 1 ; Development = 1, Final = 0
TRIAL .set 1 ; Progressing trial number )start=1)
BEGIN .set 0C000h ; Startaddress of (new) code in EPROM
;––– definition of testpin
pin .set 01h ; testpin is P0.0
P0DIR .set 12h ; Port 0 direction control register
P0IN .set 10h ; Port 0 input register
;––– ddfine working sections
.if DVLP =1
.text 00240h ; code in RAM during development
.else
.text BEGIN ; code in EPROM at final run
.endif
;––– test routine is waiting for low at testpin
start
bic.b #pin, P0DIR ; testpin is input
bit.b #pin, P0IN ; test testpin
jnz user_prg ; jump to user program if testpin = 1
clr 003DEh ; clear ID in RAM (005DEh on MSP430X33x)
br 0FFDCh ; branch indirect to Monitor
;––– insert here the start up of your user program
user_prg
jmp user_prg ; Dummy endless loop
;––– define reset vector in RAM for development
.sect “RAM_RES”, 03FEh ; 05FEh on MSP430X33x