Motorola DSP56301 User Manual
Page 307
DSP56301 User’s Manual
A
-11
bra ;======================================================================== ; This is the routine for 56301-to-56301 boot. ; MD:MC:MB:MA=x011 - HI32 in UB mode, double strobe, HTA pin active low UB3HOSTLD movep #$268000,x:M_DCTR ; HM=$2 (UB) ; HIRD=0 (HIRQ_ pin - drive high disabled, open drain) ; HIRH=1 (HIRQ_ pin - handshake enabled) ; HRSP=1 (HRST pin - active low) ; HDRP=0 (HDRQ pin - active high) ; HTAP=1 (HTA pin - active low) ; HDSM=0 (Double-strobe pin mode enabled) bra ;======================================================================== ; This is the routine that loads from the SCI. ; MD:MC:MB:MA=x010 - external SCI clock SCILD movep #$0302,X:M_SCR ; Configure SCI Control Reg movep #$C000,X:M_SCCR ; Configure SCI Clock Control Reg movep #7,X:M_PCRE ; Configure SCLK, TXD and RXD do #6,_LOOP6 ; get 3 bytes for number of ; program words and 3 bytes ; for the starting address jclr #2,X:M_SSR,* ; Wait for RDRF to go high movep X:M_SRXL,A2 ; Put 8 bits in A2 jclr #1,X:M_SSR,* ; Wait for TDRE to go high movep A2,X:M_STXL ; echo the received byte asr #8,a,a _LOOP6 move a1,r0 ; starting address for load move a1,r1 ; save starting address do a0,_LOOP7 ; Receive program words do #3,_LOOP8 jclr #2,X:M_SSR,* ; Wait for RDRF to go high movep X:M_SRXL,A2 ; Put 8 bits in A2 jclr #1,X:M_SSR,* ; Wait for TDRE to go high movep a2,X:M_STXL ; echo the received byte asr #8,a,a _LOOP8 movem a1,p:(r0)+ ; Store 24-bit result in P mem. nop ; movem cannot be at LA. _LOOP7 bra ;======================================================================== ; This is the routine that loads from external EPROM. ; MD:MC:MB:MA=x001 EPROMLD move #BOOT,r2 ; r2 = address of external EPROM movep #AARV,X:M_AAR1 ; aar1 configured for SRAM types of access