test_edma.c

来自「CCS下编写的EDMA数据传输程序」· C语言 代码 · 共 69 行

C
69
字号
#include "typedefine.h"
#include "vars.h"
#include "dd_edma.h"


 void main()
 {

	uint32 DeviceConfiger,i;
	uint8  sdr[100],dst[100];
	for (i=0;i<100;i++) 
	{
	  sdr[i] = i;
	  dst[i] = 0;
	}
	
//	(*(volatile uint32*)(0x01B3F018)) = ((uint32)(0x10C0010C)); // To unlock the device configuration register
//	(*(volatile uint32*)(0x01B3F000)) = ((uint32)(0x0000005C)); // To enable vp2 vp0 i2c and mcbsp1  
//	DeviceConfiger = (*(volatile uint32*)(0x01B3F000));			// To read the enable register
//	for(i = 0; i < 130; i ++)									// To wait 128 system clock cycles
//	{
//	}
	
	InitEdma();	
	
	/*
	for(i = 0; i< 100; i++)
	{};
			
	AllocSpecifiedEdma(0);
	AllocSpecifiedEdma(1);
	AllocSpecifiedEdma(2);
	AllocSpecifiedEdma(3);
	AllocSpecifiedEdma(4);
	AllocSpecifiedEdma(5);
	AllocSpecifiedEdma(6);
	AllocSpecifiedEdma(7);		
	*/
	//HookEdmaIsr(14,(ISR_FUNC) audio_isr);
		
	edma_test = AllocEdma(1);		
						
	//currentEdmaHandle = 65;
	//edmaCurrentTogether = 65;		
    //initialDsp();
    
    SetEdma(edma_test, 
			EDMA_OPT_PRI_HIGH|       
			EDMA_OPT_ESIZE_32|
			EDMA_OPT_2DS_NO|
			EDMA_OPT_SUM_INC|
			EDMA_OPT_2DD_NO|
			EDMA_OPT_DUM_INC|
			EDMA_OPT_LINK_NO|
			EDMA_OPT_FS_YES|
			EDMA_OPT_TCC(edma_test), 
			(uint32)(sdr),
			(uint32)0x00000064, //0x1f9= 505   one frame has 1009 16bits elemnts.搬1010个,以便按照一次32位来搬
			(uint32)(dst), 
			(uint32)(0), 
			(uint32)0);
			
	ClearEdma(edma_test);			
	StartEdma(edma_test);
	WaitEdma(edma_test);
  }
  
  
  

⌨️ 快捷键说明

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