derlupy
驱动牛犊
驱动牛犊
  • 注册日期2003-05-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1205回复:3

请问在驱动中怎么设置pci2040 HPI接口中的HCNTL1和HCNTL0的值?

楼主#
更多 发布于:2003-06-05 11:00
请问在驱动中怎么设置pci2040 HPI接口中的HCNTL1和HCNTL0的值?
我要访问HPIA,HPIC,HPID寄存器要设HCNTL1和HCNTL0的值,但是不知道怎么设?

[编辑 -  6/5/03 by  derlupy]
sggh
驱动牛犊
驱动牛犊
  • 注册日期2001-11-02
  • 最后登录2009-11-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-02 10:31
这两个值是PCI总线上P_AD12和P_AD11信号的映射,如果你要访问的地址刚好使它们的值为00,访问的就是HPIC,如果是01,访问的就是
HPID_INC(自增方式数据寄存器),以此类推。所以HCNTL1,HCNTL0的值不是用来设置的。
cb615cb
驱动牛犊
驱动牛犊
  • 注册日期2002-08-18
  • 最后登录2005-01-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-03 16:31
(1):#define PCI_DSP_HPIC_OFFSET 0x0000
#define PCI_DSP_HPID0_OFFSET 0x0800 //Auto_inc
#define PCI_DSP_HPIA_OFFSET 0x1000
#define PCI_DSP_HPID1_OFFSET 0x1800 //no auto_inc //54x与62x不一样
(2): KMemoryRange m_Hpi_Csr_MemoryRange;
KMemoryRange m_Ctl_MemoryRange;

(3): KPciConfiguration PciConfig(m_Lower.TopOfStack());
    PciConfig.Control(cmdMemoryAccess,TRUE); //允许内存映射
(4): status = m_Hpi_Csr_MemoryRange.Initialize(
pResListTranslated,
pResListRaw,
PciConfig.BaseAddressIndexToOrdinal(0)
);
if (!NT_SUCCESS(status))
{
Invalidate();
return status;
}

(5):为什么这样做呢?这就需要看书、看资料了!一切顺利!


我仅仅是一个比你早接触的菜鸟!
derlupy
驱动牛犊
驱动牛犊
  • 注册日期2003-05-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-04 08:14
谢谢大家了!:)
游客

返回顶部