📄 test_edma.c
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -