Freescale Semiconductor DSP56364 Bread Maker User Manual


 
Bootstrap ROM
DSP56364 24-Bit Digital Signal Processor Users Manual, Rev. 2
Freescale Semiconductor A-5
bra <*
;========================================================================
; Code for burn-in
;========================================================================
M_OGDB EQU $FFFFFC ;; OnCE GDB Register
M_PCRC EQU $FFFFBF ;; Port C GPIO Control Register
M_PDRC EQU $FFFFBD ;; Port C GPIO Data Register
M_PRRC EQU $FFFFBE ;; Port C Direction Register
SCKT EQU $3 ;; SCKT is GPIO bit #3 in ESAI (Port C)
EQUALDATA equ 0 ;; 1 if xram and yram are of equal
;; size and addresses, 0 otherwise.
if (EQUALDATA)
start_dram equ 0 ;;
length_dram equ $1600 ;; same addresses
else
start_xram equ 0 ;; 1k XRAM
length_xram equ $0400
start_yram equ 0 ;; 1.5k YRAM
length_yram equ $0600
endif
start_pram equ 0 ;; 0.5k PRAM
length_pram equ $0200
BURN
;; get PATTERN pointer
clr b #PATTERNS,r6 ;; b is the error accumulator
move #<(NUM_PATTERNS-1),m6 ;; program runs forever in
;; cyclic form
;; configure SCKT as gpio output.
movep b,x:M_PDRC ;; clear GPIO data register
bclr #SCKT,x:M_PCRC ;; Define SCKT as output GPIO pin
bset #SCKT,x:M_PRRC ;; SCKT toggles means test pass
;; r5 = test fail flag = $000000
lua (r5)-,r7 ;; r7 = test pass flag = $FFFFFF
burnin_loop
do #9,burn1
;;----------------------------
;; test RAM
;; each pass checks 1 pattern
;;----------------------------
move p:(r6)+,x1 ;; pattern for x memory
move p:(r6)+,x0 ;; pattern for y memory
move p:(r6)+,y0 ;; pattern for p memory