liglong
驱动牛犊
驱动牛犊
  • 注册日期2004-01-15
  • 最后登录2004-07-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1214回复:2

9054 DMA Windr基本问题,急!!!(30分)

楼主#
更多 发布于:2004-03-23 01:32
各位高手
我正在用windriver6.03开发9054,用于dma传输数据,现在有几个问题想问一下:
1,windriver manual中的xxx_DMAxxx()函数按说应该在P9054_lib.c中,我怎么找不到,是否版本问题.
2,dma传输有两种方式,一个是scatter/gather,另一种是block,他们有什么区别?实现难度如何?
3,dma有两种地址方式,线性递增和地址不变,如何编程实现地址不变?

再次谢谢各位出手相救!!
hmwhmw
驱动牛犊
驱动牛犊
  • 注册日期2002-11-23
  • 最后登录2011-06-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-04-13 21:37
1函数在9054_lib.c中,跟版本没有关系
2 s/g 和block的区别在于分配的内存地址在物理上是否连续.如果用windriver的话,两者在编程上没有任何区别,windriver在9054_dmaopen的这个函数中进行了处理
3 关于两种地址方式,通过设寄存器.(DMA0设80h)
jerrytaojiang
驱动牛犊
驱动牛犊
  • 注册日期2003-11-08
  • 最后登录2004-03-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于: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
游客

返回顶部