Motorola DSP56309 User Manual page 328

24-bit digital signal processor
Table of Contents

Advertisement

move a1,r1
do a0,_LOOP7
do #3,_LOOP8
jclr #2,X:M_SSR,*
movep X:M_SRXL,A2
jclr #1,X:M_SSR,*
movep a2,X:M_STXL
asr #8,a,a
_LOOP8
movem a1,p:(r0)+
nop
_LOOP7
bra <FINISH
;========================================================================
; This is the routine that loads from external EPROM.
; MD:MC:MB:MA=1001
EPROMLD
move #BOOT,r2
movep #AARV,X:M_AAR1
do #6,_LOOP9
movem p:(r2)+,a2
asr #8,a,a
_LOOP9
move a1,r0
move a1,r1
do a0,_LOOP10
do #3,_LOOP11
movem p:(r2)+,a2
asr #8,a,a
_LOOP11
movem a1,p:(r0)+
nop
_LOOP10
;========================================================================
FINISH
; This is the exit handler that returns execution to normal
; expanded mode and jumps to the RESET vector.
andi #$0,ccr
jmp (r1)
;========================================================================
; The following modes are reserved, some of which are used for internal testing
MOTOROLA
; save starting address
; Receive program words
; Wait for RDRF to go high
; Put 8 bits in A2
; Wait for TDRE to go high
; echo the received byte
; Store 24-bit result in P mem.
; pipeline delay
; Boot from SCI done
; r2 = address of external EPROM
; aar1 configured for SRAM types of access
; read number of words and starting address
; Get the 8 LSB from ext. P mem.
; Shift 8 bit data into A1
;
; starting address for load
; save it in r1
; a0 holds the number of words
; read program words
; Each instruction has 3 bytes
; Get the 8 LSB from ext. P mem.
; Shift 8 bit data into A1
; Go get another byte.
; Store 24-bit result in P mem.
; pipeline delay
; and go get another 24-bit word.
; Boot from EPROM done
; Clear CCR as if RESET to 0.
; Then go to starting Prog addr.
DSP56309UM/D
Bootstrap Programs
A-9

Advertisement

Table of Contents
loading

Table of Contents