Motorola DSP56301 User Manual
Page 310

A
-14
DSP56301 User’s Manual
;; 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.
;;---------------------------------------------------
beq label1
bclr #SCK0,x:M_PDRC ;; clear sck0 if error,
enddo ;; terminate the loop normally
bra label1 ;; if no error bchg #SCK0,x:M_PDRC ;; toggle pin and keep on looping burn1 wait ;; enter wait after test completion ORG PL:,PL: PATTERNS dsm 4 ;; align for correct modulo addressing ORG PL:PATTERNS,PL:PATTERNS ;; Each value is written to all memories dc $555555 dc $AAAAAA dc $333333 dc $F0F0F0 NUM_PATTERNS equ *-PATTERNS SEREPROM ;------------------------------------------------------------------------ ; DSP563xx ; ; DESCRIPTION Bootstrap from Serial EEPROM through SCI ; ; UPDATE 11 June 1998 ;------------------------------------------------------------------------ READ_BLOCK ; (2) RESET SERIAL INTERFACE movep #$008108,x:M_SCR ; Mode 0 (8-bit Synchronous) ; MSB first ; Negative Clock Polarity ; TX disabled ; RX enabled ;; movep #$000031,x:M_SCCR ; work freq = 1/400 * DSP freq ;; The following line is for testing only movep #$000001,x:M_SCCR ; work freq = 1/2 * DSP freq ; internal tx clock, internal rx clock, ; prescaler divides by 1, clock ; divider: $32 movep #$000007,x:M_PCRE ; Configure SCLK, TXD and RXD ; as SCI pins ; (4) ASSERT CHIP SELECT