adsp_boot.asm
来自「AD公司的DSP的外置ROM引导程序可引导用户主程序」· 汇编 代码 · 共 483 行 · 第 1/2 页
ASM
483 行
call check_iack
stm #idma_cs4,ar2
st #3c0fh,*ar2
call check_iack
stm #idma_cs4,ar2
st #00fch,*ar2
rpt #10
nop
; POPM SWWSR
; ret
;boot_adsp5***********************************************
boot_adsp5:
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_cs5,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_cs5,ar2
stm #buf_tx_idma,ar3
stm #436-1,brc
rptb boot_ad2189m5-1
call check_iack
stm #idma_cs5,ar2 ;because check_iack1 use ar2
NOP
LD *AR3+,A
nop
nop
STL A,*AR2
nop
nop
boot_ad2189m5:
NOP
write_restart_vector5:
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_cs5,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_cs5,ar2
st #3c0fh,*ar2
call check_iack
stm #idma_cs5,ar2
st #00fch,*ar2
rpt #10
nop
; POPM SWWSR
; ret
;boot_adsp6***********************************************
boot_adsp6:
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_cs6,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_cs6,ar2
stm #buf_tx_idma,ar3
stm #436-1,brc
rptb boot_ad2189m6-1
call check_iack
stm #idma_cs6,ar2 ;because check_iack1 use ar2
NOP
LD *AR3+,A
nop
nop
STL A,*AR2
nop
nop
boot_ad2189m6:
NOP
write_restart_vector6:
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_cs6,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_cs6,ar2
st #3c0fh,*ar2
call check_iack
stm #idma_cs6,ar2
st #00fch,*ar2
rpt #10
nop
; POPM SWWSR
; ret
;boot_adsp7***********************************************
;boot_adsp7:
; pshm swwsr
; STM #0FFFFh , SWWSR
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_cs7,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_cs7,ar2
stm #buf_tx_idma,ar3
stm #436-1,brc
rptb boot_ad2189m7-1
call check_iack
stm #idma_cs7,ar2 ;because check_iack1 use ar2
NOP
LD *AR3+,A
nop
nop
STL A,*AR2
nop
nop
boot_ad2189m7:
NOP
write_restart_vector7:
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_cs7,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_cs7,ar2
st #3c0fh,*ar2
call check_iack
stm #idma_cs7,ar2
st #00fch,*ar2
rpt #10
nop
; POPM SWWSR
; ret
;boot_adsp8***********************************************
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_cs8,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_cs8,ar2
stm #buf_tx_idma,ar3
stm #436-1,brc
rptb boot_ad2189m8-1
call check_iack
stm #idma_cs8,ar2 ;because check_iack1 use ar2
NOP
LD *AR3+,A
nop
nop
STL A,*AR2
nop
nop
boot_ad2189m8:
NOP
write_restart_vector8:
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_cs8,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_cs8,ar2
st #3c0fh,*ar2
call check_iack
stm #idma_cs8,ar2
st #00fch,*ar2
rpt #10
nop
POPM SWWSR
ret
.end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?