fancery
驱动牛犊
驱动牛犊
  • 注册日期2003-07-24
  • 最后登录2005-09-07
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1739回复:0

求助:谁做过Vxworks下的ISP1161的host端驱动开发,小弟有些问题要请教啊!

楼主#
更多 发布于:2003-10-23 15:01
刚开始调试自己的程序就遇到一点困难:程序首先是初始化HC了,第一步是探测是否有HC,程序很简单,和编程手册上的一样,如下:

    Write16BitReg (HcScratch | 0x80, 0x55AA);
    usData = Read16BitReg(HcScratch);

    if (usData == 0x55AA)
    {
        usChipId = Read16BitReg(HcChipID);    
        if (0x6100 == (usChipId & 0xFF00))
        {
            return FoundISP1161x;
        }
        else
        {
            return NotFoundISP1161x;
        }
    }
    else
    {
        return NotFoundISP1161x;
    }
调试时发现 usData 和 usChipId始终为0,到shell里面一看,从0x00~0xff都为0,这显然是不对的啊!ISP1161的某些只读寄存器中是有数据的,比如这个“HcChipID”(地址为0x27)寄存器中应该有芯片的相关信息,不会为“0”啊!?考虑是是不是自己的片选给配错了(MPC8260的cpu),但检查了一下又没有问题,程序如下,(USB用的是CS7):

void UsbHdint(void)
{
    unsigned long ulImmr;

    ulImmr = vxImmrGet();
    *M8260_BR7(ulImmr) = USB_BASE_ADDR | 0x1001;
    *M8260_OR7(ulImmr) = 0xffff8836;
}

请大虾指点一下!
游客

返回顶部