yaosj2k
驱动牛犊
驱动牛犊
  • 注册日期2003-07-06
  • 最后登录2014-01-09
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1153回复:2

请做过PCI2040驱动的指点!

楼主#
更多 发布于:2003-08-05 11:50
很傻的问题:

从PCI2040上读取数据,是否就是读取REGISTER HPID,能否说明一下

是怎么样的一个过程,在读取的过程需要注意哪些?

感谢啦,都是被老板逼得走头无路了

3x
zhanghc
驱动牛犊
驱动牛犊
  • 注册日期2002-03-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望31点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-09 16:48
基本正确,
就是先设置好hpic和hpia的值,然后读hpid,具体的操作最好看一个例子程序或者看说明书,
毕竟我记不住.
我现在就是响应不到中断,
也不知道怎么办呢?

[编辑 -  8/9/03 by  zhanghc]
Claye
驱动牛犊
驱动牛犊
  • 注册日期2002-11-24
  • 最后登录2007-10-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-21 17:03
我来讲讲具体操作:
1。假设PCI Control Space的基地址为0x70000000
2。假设访问的是DSP0
3。因为HPI的访问是通过地址同步访问的,即AD14,AD13是DSP选择:
AD14 AD13
 0    0   nHCS0 DSP0
 0    1   nHCS1 DSP1
 1    0   nHCS2 DSP2
 1    1   nHCS3 DSP3
AD12,AD11是寄存器选择:
AD12 AD11
 0    0   r/w HPIC
 0    1   r/w HPIA
 1    0   r/w HPID(地址自增)
 1    1   r/w HPID(地址不自增)
因此对应DSP0的四个寄存器偏移量是0x0,0x800,0x1000,0x1800。这是以字节为单位,读取PCI配置空间也是以字节为单位读取。而对应HPI_CSR和PCI_CS是以双字32位为单位读取。因此实际偏移应为0x0,0x200,0x400,0x600(原来基础上除以4)。这样就能正确读写DSP HPI寄存器里的数值
因为有了你的驱动,我们才能进步! 愿中国强大!!!!
游客

返回顶部