chinaxine
驱动牛犊
驱动牛犊
  • 注册日期2004-10-22
  • 最后登录2005-09-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:969回复:1

SAA7146的DEBI接口配置不成功,求助

楼主#
更多 发布于:2005-02-24 15:52
想通过DEBI口控制另一颗芯片,但是DEBI向外写数据总不成功
ULONG cmd = 0;
ULONG val = 0x11111111; //通过DEBI向外要写的数据
ULONG config = 0x11111111; //DEBI config
int addr = 0x1111; //被7146所控制芯片上某地址
m_MemoryRange0.outd(MC1,0x08000800);//Enable DEBI Port pins
m_MemoryRange0.outd(DEBI_CONFIG,config);
m_MemoryRange0.outd(DEBI_COMMAND,(cmd = (4 << 17) | (addr & 0xffff)));
m_MemoryRange0.outd(DEBI_AD,val);
m_MemoryRange0.outd(MC2,0xffffffff);

按照datasheet上的说明,在传输immediate transfer模式下,寄存器DEBI_AD中放的是要传输的数据.MC1,MC2是Main control register1和2.在softice下观察,DEBI_CONFIG和DEBI_COMMAND被正确写入,分别是0x11111111和0x00081111.DEBI_AD中是0xfc7bc9f6,MC1和MC2中分别是0x00000900和0x0000ff7f,都不正确,请教大家指点一下,这是为什么,怎么解决这个问题?

还有,在MC2中有一位,叫UPLD_DEBI,datasheet上的说明是:Upload\'DEBI registers\';88H,7CH,80H....这里的upload是更新的意思吗,具体体现在哪里呢?

还有一个基地址的问题,7146只有内存映射,我是在softice中用pci命令才找到基地址的具体数字,要是不用这种办法应该从哪里,怎样才能找到这个基地址呢.
刚刚接触驱动开发,请多关照
chinaxine
驱动牛犊
驱动牛犊
  • 注册日期2004-10-22
  • 最后登录2005-09-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-02-25 10:09
自己顶一下,高手来帮帮忙啊.
刚刚接触驱动开发,请多关照
游客

返回顶部