EDMA 的一个概念始终搞不明白
时间:10-02
整理:3721RD
点击:
看c6000的EDMA手册,有两个概念:frame和array
按照手册的英文原文:
a frame can have staggered or contiguous element.
翻译成中文,似乎应该是:一个帧可以有连续的element构成。
a group of contiguous elements comprise an array.
翻译成中文,应该是:一组连续的element构成一个array.
问题是,似乎frame 和array都可以由连续的element构成,那么,区别在哪呢?同样由连续的element构成,为什么一个叫frame而另一个叫array呢?
按照手册的英文原文:
a frame can have staggered or contiguous element.
翻译成中文,似乎应该是:一个帧可以有连续的element构成。
a group of contiguous elements comprise an array.
翻译成中文,应该是:一组连续的element构成一个array.
问题是,似乎frame 和array都可以由连续的element构成,那么,区别在哪呢?同样由连续的element构成,为什么一个叫frame而另一个叫array呢?
谁用过6713的edma啊?
array是指2 维EDMA传输中连续的element,多个array组成一个block
frame是指1维EDMA传输中可以是不连续的element,2维没有block的说法
那么对于连续的element构成的frame和array,有什么区别呢?而且,再实际的使用中,有什么区别的?
不知道我是不是有点钻牛角间,我正在看edma的手册,我就是不明白,既然frame和array都可以由连续的element构成,并且,都可由一个事件触发这一连串的element的传送,那么这两个的区别究竟在哪呢?我知道一个是1d,一个是2d。
而且按照英文原文原文用的是contiguous element这个词,一个array 由contiguous element构成,那么,究竟什么是contiguous ?按照字面的意思,是连续,那怎么算是连续呢?固定的地址也算么?
如果我用edma方式从某外设(比如mcbsp)传送数据,而且我的程序中不使用该外设,那么,是不是数据的传送对程序的运行没有任何影响?
楼主的意思我不太明白,不知道不影响程序运行是什么意思?
EDMA使用步骤是:开EDMA-配置EDMA-等待EDMA event-EDMA传输-EDMA结束
其中开EDMA-配置EDMA这两个环节必须要由CPU来干预,所以还是会影响CPU的cycles
还有一个问题,element size是指什么?我如果想把mcbsp接受寄存器(32位)中的数字,送到一块16位的sdram中,那么,element size应该算是32位,还是16位呢?