⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adsp_boot.asm

📁 AD公司的DSP的外置ROM引导程序可引导用户主程序
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	    
	   	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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -