Freescale Semiconductor DSP56364 Bread Maker User Manual


 
Bootstrap ROM
DSP56364 24-Bit Digital Signal Processor Users Manual, Rev. 2
Freescale Semiconductor A-7
eor x1,a
add a,b ;; accumulate error in b
_loopx
;; check yram
clr a #start_yram,r1 ;; restore pointer, clear a
do n1,_loopy
move y:(r1)+,a1 ;; a0=a2=0
eor x0,a
add a,b ;; accumulate error in b
_loopy
endif
;; check pram
clr a #start_pram,r2 ;; restore pointer, clear a
do n2,_loopp
move p:(r2)+,a1 ;; a0=a2=0
eor y0,a
add a,b ;; accumulate error in b
_loopp
;;---------------------------------------------------
;; toggle pin if no errors, stop execution otherwise.
;;---------------------------------------------------
;; if error
tne r5,r7 ;; r7=$FFFFFF as long as test pass
;; condition codes preserved
;; this instr can be removed in case of shortage
movep r7,x:M_OGDB ;; write pass/fail flag to OnCE
;; condition codes preserved
;; this instr can be removed in case of shortage
beq label1
bclr #SCKT,x:M_PDRC ;; clear SCKT if error,
enddo ;; terminate the loop normally
;; this instr can be removed in case of shortage
bra <burn1 ;; and stop execution
label1 ;; if no error
bchg #SCKT,x:M_PDRC ;; toggle pin and keep on looping
burn1 ;; test completion
debug ;; enter debug mode if OnCE port enabled
;; this instr can be removed in case of shortage
wait ;; enter wait otherwise (OnCE port disabled)
BURN_END
ORG PL:,PL:
PATTERNS dsm 4 ;; align for correct modulo addressing
ORG PL:BURN_END,PL:BURN_END
dup PATTERNS-* ; write address in unused Boot ROM location