songweitm
驱动牛犊
驱动牛犊
  • 注册日期2007-05-21
  • 最后登录2008-03-10
  • 粉丝0
  • 关注0
  • 积分230分
  • 威望24点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
阅读:1812回复:1

请问版主关于9054DMA传输的地址问题

楼主#
更多 发布于:2007-12-21 15:11
前两天发了相同的帖子,一直每人回,这次只好问版主了,请勿见怪。我就是想问一下9054在进行DMA传输时LOCAL ADDRESS怎么确定,是否可以通过函数PLXPCIBARMAP获得,还是通过本地端寄存器的配置及映射得到,谢谢!
davyli1982
驱动牛犊
驱动牛犊
  • 注册日期2007-10-21
  • 最后登录2008-01-01
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-12-28 17:38
我不懂驱动程序是怎么弄得,硬件实现过程应该是下面的过程。
首先在设计卡时,就应该已经定义了基地址寄存器,这些基地址寄存器中有一个是指向你的本地存储器的,而这个基地址寄存器由两部分组成,后面的n位是只读的(表示你的本地存储器的大小),前面的32-n(bit)是可读写的,因此系统在初始化的时候,首先通过一个函数向该寄存器写全‘1’,得到‘0’的个数就代表本地存储需的大小,然后系统会根据这个大小给该寄地址寄存器分配一个内存(或者I/o)偏移地址,用这个偏移地址加上本地寄存器偏移就是Local Address。

不知道这样对不对,呵呵
游客

返回顶部