创龙科技
直播中

高颖

8年用户 180经验值
私信 关注

关于EDMA3的设置如何理解

[tr]static void BufferRxDMAActivate(unsigned int rxBuf, unsigned short parId,unsigned short parLink)
{
    EDMA3CCPaRAMEntry paramSet;

    /* 复制默认参数集 */
    memcpy(¶mSet, &rxDefaultPar, SIZE_PARAMSET - 2);

    /* 启用完成中断 */
    paramSet.opt |= RX_DMA_INT_ENABLE;
    paramSet.destAddr =  rxBufPtrL[rxBuf];
    paramSet.destBIdx = rxBufPtrR[rxBuf] - rxBufPtrL[rxBuf];
    paramSet.destCIdx = 2 + rxBufPtrL[rxBuf] - rxBufPtrR[rxBuf];
    paramSet.cCnt =  NUM_SAMPLES_PER_AUDIO_BUF;
    paramSet.linkAddr = parLink * SIZE_PARAMSET;
    EDMA3SetPaRAM(SOC_EDMA30CC_0_REGS, parId, ¶mSet);
}

上面是我的一个项目上用EDMA3传输立体声音频的设置,把左右声道分开。但是其中的destCIdx总看不懂,不明白为什么要这样设置。
其中的2是什么作业。另外在初始化的时候这个数是3。


[/tr]

回帖(1)

陈丽霞

2020-5-13 12:01:13
1,在我公司的C6748视频学习资料中《第三代增强型内存直接存取控制器 EDMA3 》有简单的讲解,您这边可以参考下。
2,在6748光盘资料中AUDIO_LINE_IN_INTR(中断方式) 或 AUDIO_LINE_IN_POLL(查询方式)例程使用左右声道采集方案





举报

更多回帖

发帖
×
20
完善资料,
赚取积分