Motorola DSP56012 ユーザーズマニュアル

ページ / 270
 
A-6
DSP56012 User’s Manual 
MOTOROLA
Bootstrap ROM Contents
; “shild” is the routine that loads from the Serial Host Interface.
; MC:MB:MA = 101—bootstrap  from SHI (SPI)
; MC:MB:MA = 111—bootstrap  from SHI (IIC)
; If MC:MB:MA = 1X1, the internal Program RAM is loaded with 256 words 
; received through the Serial Host Interface (SHI).
; The SHI operates in the Slave mode
; with the 10-word FIFO enabled, and with the HREQ pin enabled for
; receive operation. The word size for transfer is 24 bits. The SHI
; operates in the SPI or in the IIC mode, according to the bootstrap mode.
 
shild          jclr    #mb,omr,shi_loop ; If MC:MB:MA = 101, select SPI mode
 
               bset    #hi2c,r1         ; otherwise select I2C mode.
shi_loop       movep
r1,x:hcsr        ; enable SHI
               do      #256,_loop2
               jclr    #hrne,x:hcsr,*   ; wait for HRX not empty
               movep   x:hrx,p:(r0)+    ; store in Program RAM
_loop2
; Exit bootstrap ROM
exit 
               clr a   a0,r0            ; r0 points to destination address 
               andi    #$ec,omr         ; set operating mode to 0
                                        ; (and trigger an exit from
                                        ; bootstrap mode).
               movep   a1,x:bcr         ; Delay needed for Op. Mode change
                                        ; used to clear BCR register.
               jmp     (r0)             ; Then go to destination address.
               
; This code fills the unused bootstrap ROM locations with their address
               dup $020-*
               dc *
               endm