阅读:1214回复:2
9054 DMA Windr基本问题,急!!!(30分)
各位高手
我正在用windriver6.03开发9054,用于dma传输数据,现在有几个问题想问一下: 1,windriver manual中的xxx_DMAxxx()函数按说应该在P9054_lib.c中,我怎么找不到,是否版本问题. 2,dma传输有两种方式,一个是scatter/gather,另一种是block,他们有什么区别?实现难度如何? 3,dma有两种地址方式,线性递增和地址不变,如何编程实现地址不变? 再次谢谢各位出手相救!! |
|
沙发#
发布于:2004-04-13 21:37
1函数在9054_lib.c中,跟版本没有关系
2 s/g 和block的区别在于分配的内存地址在物理上是否连续.如果用windriver的话,两者在编程上没有任何区别,windriver在9054_dmaopen的这个函数中进行了处理 3 关于两种地址方式,通过设寄存器.(DMA0设80h) |
|
板凳#
发布于:2004-03-26 02:26
DMA the scatter/gather mode,you should conside the memory alignment problem, using WD_DMALOCK() to allocate memory, when you process DMA data, you need calculate the different page in the memory. it's harder than block transfer. sorry for using english, I have no chinese system
|
|