?? adsp_boot.asm
字號:
;********************************************************************************
;* *
;*----------------北京高陽迪威科技有限公司深圳研究中心 -------------------------*
;* *
;* 工程: ASB板測試程序 *
;* 版本: V1.0 *
;* *
;* 作者: LIN QIU FU *
;* 日期: 2001/6/8 *
;* *
;********************************************************************************
;* 文件描述:
;* BOOT TO ADSP2189M
;***********************************************************
;
;
.mmregs
;
; 包含文件:
.include "init_c5409.inc"
.include "main.inc"
;
; 調用函數:
.ref check_iack
.ref var_idma_tx_count
.ref var_idma_pm_count
.ref buf_tx_idma
.ref buf_rx_idma
; 被調函數:
.def boot_adsp
; .def boot_adsp7 ;added by yxd
; 代碼:
;
.sect ".text"
boot_adsp:
pshm swwsr
STM #0FFFFh , SWWSR
;boot_adsp1**********************************************
call check_iack ;check to see the target is ready or not
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_PCR2,MCBSP2_SPSD ;select the latch operation:DBX2=1
STM #latch_cs1,AR2 ;latch the starting address
ST #0001H,*AR2 ;Pm enable,starting address=
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_WR_RD_IDMA,MCBSP2_SPSD ;select the wr/rd idma operation :BDX2=0
stm #idma_cs1,ar2
stm #buf_tx_idma,ar3
stm #436-1,brc
rptb boot_ad2189m1-1
call check_iack
stm #idma_cs1,ar2 ;because check_iack use ar2
NOP
LD *AR3+,A
nop
nop
STL A,*AR2
nop
nop
boot_ad2189m1:
NOP
write_restart_vector1:
call check_iack ;check to see the target is ready or not
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_PCR2,MCBSP2_SPSD ;select the latch operation
STM #latch_cs1,AR2 ;latch the starting address
ST #0000H,*AR2 ;Pm enable,starting address=
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_WR_RD_IDMA,MCBSP2_SPSD ;select the wr/rd idma operation
call check_iack ;iack is 0?
stm #idma_cs1,ar2 ;write to the int vector addr
st #3c0fh,*ar2
call check_iack
stm #idma_cs1,ar2
st #00fch,*ar2
rpt #10
nop
; POPM SWWSR
; ret
;boot_adsp2**********************************************
boot_adsp2:
call check_iack ;check to see the target is ready or not
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_PCR2,MCBSP2_SPSD ;select the latch operation
STM #latch_cs2,AR2 ;latch the starting address
ST #0001H,*AR2 ;Pm enable,starting address=
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_WR_RD_IDMA,MCBSP2_SPSD ;select the wr/rd idma operation
stm #idma_cs2,ar2
stm #buf_tx_idma,ar3
stm #436-1,brc
rptb boot_ad2189m2-1
call check_iack
stm #idma_cs2,ar2 ;because check_iack use ar2
NOP
LD *AR3+,A
nop
nop
STL A,*AR2
nop
nop
boot_ad2189m2:
NOP
write_restart_vector2:
call check_iack ;check to see the target is ready or not
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_PCR2,MCBSP2_SPSD ;select the latch operation
STM #latch_cs2,AR2 ;latch the starting address
ST #0000H,*AR2 ;Pm enable,starting address=
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_WR_RD_IDMA,MCBSP2_SPSD ;select the wr/rd idma operation
call check_iack
stm #idma_cs2,ar2
st #3c0fh,*ar2
call check_iack
stm #idma_cs2,ar2
st #00fch,*ar2
rpt #10
nop
; POPM SWWSR
; ret
; b boot_adsp5
;boot_adsp3**********************************************
call check_iack ;check to see the target is ready or not
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_PCR2,MCBSP2_SPSD ;select the latch operation
STM #latch_cs3,AR2 ;latch the starting address
ST #0001H,*AR2 ;Pm enable,starting address=
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_WR_RD_IDMA,MCBSP2_SPSD ;select the wr/rd idma operation
; stm #idma_cs3,ar2
stm #buf_tx_idma,ar3
stm #436-1,brc
rptb boot_ad2189m3-1
call check_iack
stm #idma_cs3,ar2 ;because check_iack1 use ar2
NOP
LD *AR3+,A
nop
nop
STL A,*AR2
nop
nop
boot_ad2189m3:
NOP
write_restart_vector3:
call check_iack ;check to see the target is ready or not
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_PCR2,MCBSP2_SPSD ;select the latch operation
STM #latch_cs3,AR2 ;latch the starting address
ST #0000H,*AR2 ;Pm enable,starting address=
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_WR_RD_IDMA,MCBSP2_SPSD ;select the wr/rd idma operation
call check_iack
stm #idma_cs3,ar2
st #3c0fh,*ar2
call check_iack
stm #idma_cs3,ar2
st #00fch,*ar2
rpt #10
nop
;boot_adsp4***********************************************
call check_iack ;check to see the target is ready or not
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_PCR2,MCBSP2_SPSD ;select the latch operation
STM #latch_cs4,AR2 ;latch the starting address
ST #0001H,*AR2 ;Pm enable,starting address=
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_WR_RD_IDMA,MCBSP2_SPSD ;select the wr/rd idma operation
; stm #idma_cs4,ar2
stm #buf_tx_idma,ar3
stm #436-1,brc
rptb boot_ad2189m4-1
call check_iack
stm #idma_cs4,ar2 ;because check_iack1 use ar2
NOP
LD *AR3+,A
nop
nop
STL A,*AR2
nop
nop
boot_ad2189m4:
NOP
write_restart_vector4:
call check_iack ;check to see the target is ready or not
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_PCR2,MCBSP2_SPSD ;select the latch operation
STM #latch_cs4,AR2 ;latch the starting address
ST #0000H,*AR2 ;Pm enable,starting address=
STM #MCBSP_PCR_SUB_ADDR,MCBSP2_SPSA
STM #K_WR_RD_IDMA,MCBSP2_SPSD ;select the wr/rd idma operation
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -