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.
芯片:TMS320C6747
程序配置1:把C6747的UART1配置成DMA发送,每次传输350字节,波特率115200,传输一次耗时约30ms。
程序配置2:SPI1配置成主机模式,访问外部芯片的周期为5ms。SPI1非DMA模式。
EDMA的OPT配置:DAM位置1,TCC配置成13,TCC中断位配置成1。
acnt=1,bcnt=350,ccnt=1
代码运行在L2RAM,数据也在L2RAM。
现在发现在串口正常发送的时候,SPI访问也是每5ms一次,很均匀,好像串口的DMA发送没有占用CPU的时钟。
DMA方式按照我的理解:
1、DMA申请总线;
2、DMA获取总线,CPU放弃总线;
3、DMA传输;
4、DMA传输完成,CPU重新获取总线。
在DMA传输的时候CPU是无法取得总线的?
DMA的传输是否可以被CPU中断?
为什么串口通过DMA发送的时候CPU也能通过SPI按时访问外部芯片呢(数据和代码都在L2RAM)?
C6000是如何在CPU和DMA之间分配时钟的和数据总线的?
L2RAM的数据是否无需数据总线即可传输?