概述
当系统启动时,枚举主机控制器,为寄存器空间分配一个基址,BIOS将FLADJ寄存器设置为系统特定的值。初始上电或HCReset(硬件或通过USBCMD寄存器中的HCReset位)后,所有的操作寄存器将在其默认值,如表所示。在硬件复位后,只有辅助电源井中不包含的运行寄存器将处于默认值。
软件应执行的步骤:
- CTRLDSSEGMENT寄存器编写4-gb段,其中分配了所有接口数据
- 将适当的值写入USBINTR寄存器以启用适当中断
- 周期帧列表基址写入PREIODICLIST基寄存器。
- 写USBCMD寄存器设置所需中断阈值,设置运行停止位
- 向CONFIGFLAG写1,将所有端口路由到EHCI
此时,主机已经运行,端口寄存器报告设备连接,系统软件通过重置过程枚举端口,此时端口活动但还没有开始调度
为了异步调度,ss写ASYNDLISTADDR。软件在USBCMD异步调用位写1.
为启动定期调度,向USBCMD相应位写1,可以在第一个端口重置前打开调度。
最后
以上就是彩色钢笔为你收集整理的EHCI主机控制器--主机控制器初始化的全部内容,希望文章能够帮你解决EHCI主机控制器--主机控制器初始化所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复