阅读:1739回复:0
求助:谁做过Vxworks下的ISP1161的host端驱动开发,小弟有些问题要请教啊!
刚开始调试自己的程序就遇到一点困难:程序首先是初始化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; } 请大虾指点一下! |
|