我在CPU1中调试好DMA程序,既可以将数据通过DMA直接搬移到MCBSP寄存器发送出去,然后放到CPU2中,数据没有发送(MCBSP通过查询方式可以发送数据),请问是什么问题?
我查看了28377D的数据手册,里边只说明了在使用DMA时,只需将BUS的控制权交给DMA就可以了,DMA是不需要控制寄存器进行分配的。我怀疑是不是关于MCBSP模块的初始化和DMA模块的初始化先后顺序有关系?希望得到大神的指教,不胜感激!
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.
我在CPU1中调试好DMA程序,既可以将数据通过DMA直接搬移到MCBSP寄存器发送出去,然后放到CPU2中,数据没有发送(MCBSP通过查询方式可以发送数据),请问是什么问题?
我查看了28377D的数据手册,里边只说明了在使用DMA时,只需将BUS的控制权交给DMA就可以了,DMA是不需要控制寄存器进行分配的。我怀疑是不是关于MCBSP模块的初始化和DMA模块的初始化先后顺序有关系?希望得到大神的指教,不胜感激!
不知道上传的文件能不能看到,里边是我调试时的初始化代码还有现象
如果是的发送到mcbsp寄存器是不用步长加一的,我写的是测试代码,即将一个数组数据搬移到另外一个数组,但是在调试时,将dma设置成调试模式,在start_dma后,使用软件强制触发,单步执行,dma中的count值并没有变化,感觉就像是dma没有启动,但是其runsts是1,,我现在很疑惑,是什么地方我没有注意到,在cpu2中dma用不了。请指教~
在CPU1里实现了DMA发送Mcbsp功能,然后我把同样的DMA初始化就触发条件放到CPU2里,没有任何反应,然后我打开DMA的软件调试功能,发现触发DMA后,DMA根本没有工作(在BUG模式下,触发后其发送计数值会更新)。现在我不清楚CPU2使用DMA都需要做那些配置(除了Mcbsp的CPU使用权和DMA的总线使能)?