Freescale Semiconductor DSP56366 User Manual

Page 263

Advertising
background image

DSP56366 Bootstrap Program

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

Freescale Semiconductor

A-11

;; r5 = test fail flag = $000000

lua (r5)-,r7 ;; r7 = test pass flag = $FFFFFF

burnin_loop

do #9,burn1

;;----------------------------

;; test RAM

;; each pass checks 1 pattern

;;----------------------------

move p:(r6)+,x1 ;; pattern for x memory

move p:(r6)+,x0 ;; pattern for y memory

move p:(r6)+,y0 ;; pattern for p memory

;; write pattern to all memory locations

if (EQUALDATA) ;; x/y ram symmetrical

;; write x and y memory

clr a #start_dram,r0 ;; start of x/y ram

move #>length_dram,n0 ;; length of x/y ram

rep n0

mac x0,x1,a x,l:(r0)+ ;; exercise mac, write x/y ram

else ;; x/y ram not symmetrical

;; write x memory

clr a #start_xram,r0 ;; start of xram

move #>length_xram,n0 ;; length of xram

rep n0

mac x0,y0,a x1,x:(r0)+ ;; exercise mac, write xram

;; write y memory

clr a #start_yram,r1 ;; start of yram

move #>length_yram,n1 ;; length of yram

rep n1

mac x1,y0,a x0,y:(r1)+ ;; exercise mac, write yram

endif

;; write p memory

clr a #start_pram,r2 ;; start of pram

move #>length_pram,n2 ;; length of pram

rep n2

move y0,p:(r2)+ ;; write pram

;; check memory contents

if (EQUALDATA) ;; x/y ram symmetrical

;; check dram

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

do n0,_loopd

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

eor x1,a

add a,b ;; accumulate error in b

Advertising