Motorola DSP56156 Manual page 268

Table of Contents

Advertisement

; Bootstrap source code for the Motorola 16-bit DSP
; (C) Copyright 1989 Motorola Inc.
;
; Host Bootstrap, SSI0 Bootstrap and External Bus Bootstrap
;
; This is the Bootstrap program contained in the DSP56156 RAM based part. This program
; can load the internal program memory from one of 3 external sources.
; The program reads the OMR bits MA and MB to decide which external source to access.
; If MB:MA = 00 - load from 4,096 consecutive byte-wide P: memory locations (starting at P:$C000).
; If MB:MA = 01 - load internal PRAM through the Host Interface if bit 15 of P:$C000 is zero
; and load internal PRAM through SSI0 if bit 15 of P:$C000 is set.
;
PRAMSIZE
BOOT
M_PBC
M_PCC
M_HSR
M_HRX
M_CRA0
M_CRB0
M_SR0
M_RX0
;
ORG
MOVE
MOVE
LEA
; If this program is entered by changing the OMR to bootstrap mode, make certain that
; registers M0 and M1 have been set to $FFFF (linear addressing).
; Make sure the BCR register is set to $xxxF since EPROMs are slow.
;
; The first routine will load 4,096 bytes from the external P memory space beginning at
; P:$C000 (bits 7-0). These will be condensed into 2,048 16-bit words and stored in
; contiguous internal PRAM memory locations starting at p:$0.
; Note that the first routine loads data starting with the least significant byte of P:$0 first.
; The second routine loads the internal PRAM using the HOST interface logic
; or the SSI0 interface logic
; It will load 4,096 bytes from the parallel host processor interface if bit 15 of P:$C000 is cleared
; and from the Serial Synchronous Interface SSI0 if bit 15 of P:$C000 is set.
; These will be condensed into 2,048 16-bit words and stored in contiguous internal PRAM memory
; locations starting at P:$0. Note that when using the SSI0, the routine loads data starting with the
; least significant byte of P:$0 first.
; If the host processor only wants to load a portion of the p memory, and then start execution of
; the loaded program, the host interface bootstrap load program routine may be killed by setting
; HF0 = 1.
Figure A-1 DSP56156 Bootstrap Program Listing
MOTOROLA
BOOTSTRAP MODE — OPERATING MODE 0 OR 1
BOOTSTRAP ROM
EQU
2048
EQU
$C000
EQU
$FFC0
EQU
$FFC1
EQU
$FFE4
EQU
$FFE5
EQU
$FFD0
EQU
$FFD1
EQU
$FFF0
EQU
$FFF1
PL:$0
#M_PBC,R2
#BOOT,R1
(R2)+,R3
; On-chip program RAM size
; The location in P: memory
; where the external byte-wide
; EPROM is to be mapped
; Port B Control Register
; Port C Control Register
; Host Status Register
; Host Receive Data Register
; SSI0 Control register A
; SSI0 Control register B
; SSI0 Status register
; SSI0 Serial receive register
; Bootstrap code starts at P:$0
; R2= Port B Control Register
; R1= External P: address of
; bootstrap byte-wide ROM
; R3= Port C control Register
A - 5

Advertisement

Table of Contents
loading

Table of Contents