2010年7月15日,小哥我又要做grub阶段USB2.0驱动开发,里面的数据结构把我搞死了。好痛苦!
2010年8月5日,实现了EHCI控制器下的USB设备枚举;把linux相关的数据结构成功移植;
2010年8月9日,在一台机器上测试,在EHCI控制器初始化完毕后,置位CF后,死机,原因不明;
2010年8月17日,通过对比linux下EHCI驱动代码的操作,排除EHCI控制器初始化不正确的情况,禁止USB中断,复位PCI设备,跳过复位EHCI等等一系列尝试,后发现EHCI控制中还有一组寄存器legacy support, 在legacy support中有的位是控制或反应着EHCI的所有权是在bios,还是在OS,因为我的GRUB要去拥有EHCI的控制权,相当于OS,此时要显示的置位相关的寄存器。折腾了一段时间,终于把这个搞定了。
2010年8月1日 GRUB阶段串口打印至另一台PC机;
2010年8月15日,OHCI驱动器发送bulk message时,有bug。后加了点打印信息,bug不见了。
2010年9月25
2010年9月30日 解决了bulk传输时Data0,Data1包切换bug,如果数据包传输时,没有切换,那么会造成USB设备不响应输入;
2010年10月14日 明白了Data0,Data1数据包切换时规律,今天才算真正的解决了bulk传输时的bug 。
阅读(1477) | 评论(0) | 转发(0) |