📄 init_065l_spinner_board.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 + -