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 <burn1 ;; and stop execution
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