Freescale Semiconductor DSP56366 User Manual

Page 264

Advertising
background image

DSP56366 Bootstrap Program

DSP56366 24-Bit Digital Signal Processor User Manual, Rev. 4

A-12

Freescale Semiconductor

move y:(r0)+,a1 ;; a0=a2=0

eor x0,a

add a,b ;; accumulate error in b

_loopd

else ;; x/y ram not symmetrical

;; check xram

clr a #start_xram,r0 ;; restore pointer, clear a

do n0,_loopx

move x:(r0)+,a1 ;; a0=a2=0

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)

Advertising