我是靠谱客的博主 彩色钢笔,这篇文章主要介绍EHCI主机控制器--主机控制器初始化,现在分享给大家,希望可以做个参考。

当系统启动时,枚举主机控制器,为寄存器空间分配一个基址,BIOS将FLADJ寄存器设置为系统特定的值。初始上电或HCReset(硬件或通过USBCMD寄存器中的HCReset位)后,所有的操作寄存器将在其默认值,如表所示。在硬件复位后,只有辅助电源井中不包含的运行寄存器将处于默认值。
在这里插入图片描述
软件应执行的步骤:

  1. CTRLDSSEGMENT寄存器编写4-gb段,其中分配了所有接口数据
  2. 将适当的值写入USBINTR寄存器以启用适当中断
  3. 周期帧列表基址写入PREIODICLIST基寄存器。
  4. 写USBCMD寄存器设置所需中断阈值,设置运行停止位
  5. 向CONFIGFLAG写1,将所有端口路由到EHCI

此时,主机已经运行,端口寄存器报告设备连接,系统软件通过重置过程枚举端口,此时端口活动但还没有开始调度
为了异步调度,ss写ASYNDLISTADDR。软件在USBCMD异步调用位写1.
为启动定期调度,向USBCMD相应位写1,可以在第一个端口重置前打开调度。

最后

以上就是彩色钢笔最近收集整理的关于EHCI主机控制器--主机控制器初始化的全部内容,更多相关EHCI主机控制器--主机控制器初始化内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(134)

评论列表共有 0 条评论

立即
投稿
返回
顶部