阅读:2128回复:3
请教DMA传输的问题~
我现在使用pci9054的DMA方式传输高速数率的数据, 采用的是DMA Scatter/Gather MODE, 由于数据量很大,所以要不断循环地进行DMA传输, 我的问题是:
SGL 方式中地descriptor是否要进行一次传输要重新设置一次?是否需要设置不同地内存地址来存储descriptor, 可否每次传输后只设置我需要改变的descriptor(如UserAddr和IopAddr)? 请各位大侠指教~! |
|
沙发#
发布于:2003-11-05 13:17
SGL 方式中,每次都要根据descriptor对DMA控制器进行内存基地址和数据长度的设置。该地址对应于你要传输的内存地址。
|
|
|
板凳#
发布于:2003-11-06 15:32
感谢回复!
内存基地址就是我定义的存储数据的buffer起始地址, 我在第一次设置descirptor的时候就定义了, 后来的都是一样的,只有IopAddr不同, 是否我只需设置改变了的descriptor成员, 跟上次传输一样的就不用重新再设一次了? |
|
地板#
发布于:2003-11-29 14:25
IOP地址和内存地址并不是同一回事,一个9054Lcoal端的,另一个是主机端的,
|
|