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

📄 init_065l_spinner_board.asm

📁 电子元件资料大全-170M-pdf.zip
💻 ASM
字号:
/***   INIT_065L_SPINNER_BOARD.ASM   ************************************************
*									   												*
*       ADSP-21065L Bittware Spinner Board Initialization and Main Program Shell	*
*																					*
*																					*
*                                               John Tomarakos                  	*
*                                               ADI DSP Applications Group      	*
*                                               Revision 1.0                    	*
*                                               1/27/98                         	*
*																					*
*************************************************************************************/
	
/* ADSP-21065L System Register bit definitions */
#include 	"def21065L.h"
#include 	"new65Ldefs.h"
  
.GLOBAL		_main;
.GLOBAL		Init_DSP;
.EXTERN		Init_65L_SDRAM_Controller;
.EXTERN 	Blink_LEDs_Test;
.EXTERN	 	Enable_AKM_Converters;
.EXTERN		Program_I2Smode_SPORT0_Registers;
.EXTERN		Program_DMA_Controller_SPT0;

/*---------------------------------------------------------------------------*/
.SEGMENT/dm dm_data;

.var sine4000[4000] = "sinetbl.dat";

.endseg;

/*---------------------------------------------------------------------------*/

.segment /pm pm_code;

_main:	call Init_65L_SDRAM_Controller;			/* Initialize External Memory */
		call Enable_AKM_Converters;				/* Configure AKM A/Ds and D/As */
		call Program_I2Smode_SPORT0_Registers;	/* Initialize SPORT0 for I2S Mode */
		call Program_DMA_Controller_SPT0;		/* Set up I2S SPORT0 DMA transfers */
		call Init_DAGs;

		IRPTL = 0x00000000;						/* clear pending interrupts */
		bit set imask SPR0I;					/* start audio processing, enable SPORT0 I2S rx interrupt */

		/* call Blink_LEDs_Test; */				/* Are We Alive? */

wait_forever:
		nop;
		jump wait_forever;


/*----------------------------------------------------------------------------------------------*
 * 									     														*
 *     										Subroutines				     						*
 *									     														*
 *----------------------------------------------------------------------------------------------*/


/*--------------------------------------------------------------------------------------*/
/* Note: This routine is first called at the Reset Vector in the Interrupt Vector Table */
/*--------------------------------------------------------------------------------------*/

Init_DSP:
	bit set mode2 FLG1O; 							/* flag 0 is an output to enable I2S devices  */
	IRPTL = 0x00000000;								/* clear pending interrupts */
	bit set mode1 IRPTEN | NESTM;   				/* enable global interrupts & nesting */	

	L0 = 0;
	L1 = 0;
	L2 = 0;
	L3 = 0;
	L4 = 0;
	L5 = 0;
	L6 = 0;
	L7 = 0;
	L8 = 0;
	L9 = 0;
	L10 = 0;
	L11 = 0;
	L12 = 0;
	L13 = 0;
	L14 = 0;
	L15 = 0;

	rts;


Init_DAGs:
	B1=sine4000;
	L1=4000;
	I1=sine4000;
	M1=25;

	B2=sine4000;
	L2=4000;
	I2=sine4000;
	M2=20;

	RTS;

.endseg;









⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -