This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于MCASP的FMT的BUSEEL设为DMA数据走到那里了

        MCASP里的AFIFO_WFIFOCTL、AFIFO_RFIFOCTL使能后,同时把FMT的BUSEEL设为DMA数据,产生AXEVT、AREVT事件,请问是到EDMA吗?如果是的,那么PARAM的源地址是什么呢?一直都没理解清楚,谢谢!

  • TI 的员工,你们应很有耐心哈,帮忙解释下了,虽然很简单,但也要你们帮助哈,非常感谢!!!

  • 是EDMA,可以参考STARTERWARE里面的代码

    下面别是发送和接受的EDMA参数

    static struct EDMA3CCPaRAMEntry const txDefaultPar =
    {
    (unsigned int)(EDMA3CC_OPT_DAM | (0x02 << 8u)), /* Opt field */
    (unsigned int)loopBuf, /* source address */
    (unsigned short)(BYTES_PER_SAMPLE), /* aCnt */
    (unsigned short)(NUM_SAMPLES_LOOP_BUF), /* bCnt */
    (unsigned int) SOC_MCASP_0_DATA_REGS, /* dest address */
    (short) (BYTES_PER_SAMPLE), /* source bIdx */
    (short)(0), /* dest bIdx */
    (unsigned short)(PAR_TX_START * SIZE_PARAMSET), /* link address */
    (unsigned short)(0), /* bCnt reload value */
    (short)(0), /* source cIdx */
    (short)(0), /* dest cIdx */
    (unsigned short)1 /* cCnt */
    };

    /*
    ** Default paRAM for Receive section.
    */
    static struct EDMA3CCPaRAMEntry const rxDefaultPar =
    {
    (unsigned int)(EDMA3CC_OPT_SAM | (0x02 << 8u)), /* Opt field */
    (unsigned int)SOC_MCASP_0_DATA_REGS, /* source address */
    (unsigned short)(BYTES_PER_SAMPLE), /* aCnt */
    (unsigned short)(1), /* bCnt */
    (unsigned int)rxBuf0, /* dest address */
    (short) (0), /* source bIdx */
    (short)(BYTES_PER_SAMPLE), /* dest bIdx */
    (unsigned short)(PAR_RX_START * SIZE_PARAMSET), /* link address */
    (unsigned short)(0), /* bCnt reload value */
    (short)(0), /* source cIdx */
    (short)(0), /* dest cIdx */
    (unsigned short)1 /* cCnt */
    };

  • 恩,非常感谢! SOC_MCASP_0_DATA_REGS、SOC_MCASP_0_DATA_REGS为其AFIFO发送和接收的地址值了,已经弄明白了。

  • FMT的BUSEEL一定要设为DMA数据?

  • 请问有相关的例程么?如果有麻烦发给我学习学习,谢谢啦