各位,
我在用spi接口做AD采集,需要用DMA,由于对am335x还不太熟,所以先找了一个源码改了一下,做了一个spi dma方式自发自收的例子,但是现在遇到的问题是,数据收发都成功了,但是DMA没有产生completion中断。程序有点长,不太方便贴上了,我把一些配置信息贴出来,麻烦各位大侠帮忙看看问题出在哪里。
使用接口是spi1,DMA完成中断号设的是12,DMA event number是42,43。
发送端:ACNT=1,BCNT=100,CCNT=1, DSTBIDX=0,SRCBIDX=1, BCNTRLD=0X8000, LINK=0XFFFF, DSTCINDX=0, SRCCIDX=1. OPT=0X8002a000
接收端:ACNT=1,BCNT=100,CCNT=1, DSTBIDX=0,SRCBIDX=0, BCNTRLD=0X8000, LINK=0XFFFF, DSTCINDX=0, SRCCIDX=0. OPT=0X8012b000
EDMA_EECR,EDMA_ECR,EDMA_SECR,EDMA_EESR的42,43位write 1。
数据收发没有问题,但是完后没有产生中断,打印相关寄存器的值出来如下
EDMA_IPR=0
EDMA_IPRH=800
EDMA_IERH=0
EDMA_DRAEH0=ffffffff
请大家帮忙看下,给点建议!非常感谢!