基于OHCI的USB主机 —— OHCI(HCCA)

简介:
主机控制器通信区( HCCA )是一个 256 字节对齐的内存数据结构,被系统软件用于与 HC 进行通信,收发相关控制和状态信息。系统软件通过 HcHCCA 寄存器设置 HCCA 的地址到 HC 。该结构允许软件给 HC 的函数指明方向,而不需要从 HC 读取,除非不寻常的状况发生(例如发生错误)。通常与 HC 的交互可以通过读取 HCCA 结构的值或者写入 HC 操作寄存器来完成。
 
HC 周期性的将 HcDoneHead 寄存器的值写入到内存 HccaDoneHead ,以便主机软件可以处理已完成的 TD 。通常 HcDoneHead 在每一帧的开始,并且中断延时计数器为 0 时完成数据更新。在 HcDoneHead 被写入到 HccaDoneHead 之后, HC 设置 HcDoneHead 寄存器的值为 0 ,并且设置 HcInterruptStatus 寄存器的 WD 位为 1 。在写完 HccaDoneHead 之后, HC 可以开始建立新的已完成队列,但是新的队列只有在 HCD 清除了 WDH 位以后才可以进行。
 
HC 产生的中断上, HCD 检查 HccaDoneHead 值。如果该值为 0 ,则该中断不是 HccaDoneHead 更新所产生,而是需要访问 HcInterruptStatus 寄存器以确定正确的中断原因。如果 HccaDoneHead 0 ,表明该中断是由于已完成队列产生,如果最低位的值非 0 ,则表明同时还产生了中断,需要访问 HcInterruptStatus 寄存器,确定中断原因。





本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/238666,如需转载请自行联系原作者
目录
相关文章
如何给 NPM 设置代理
GFW 蛋疼的把 https://registry.npmjs.org 给墙了,导致无法通过 NPM 安装模块。
4353 0
|
9月前
|
数据采集 自然语言处理 Java
Playwright 多语言一体化——Python/Java/.NET 全栈采集实战
本文以反面教材形式,剖析了在使用 Playwright 爬取懂车帝车友圈问答数据时常见的配置错误(如未设置代理、Cookie 和 User-Agent),并提供了 Python、Java 和 .NET 三种语言的修复代码示例。通过错误示例 → 问题剖析 → 修复过程 → 总结教训的完整流程,帮助读者掌握如何正确配置爬虫代理及其它必要参数,避免 IP 封禁和反爬检测,实现高效数据采集与分析。
595 3
Playwright 多语言一体化——Python/Java/.NET 全栈采集实战
|
Serverless 数据安全/隐私保护 前端开发
大模型代码能力体验报告之贪吃蛇小游戏《一》:Claude.ai篇 - 生成、预览和快速部署的serverless一条龙
本文介绍了通过Claude.ai生成并优化Web版贪吃蛇游戏的过程,展示了其强大的代码生成功能及用户友好的界面设计。从初始版本的快速生成到根据用户反馈调整游戏速度,再到提供多种实用工具如文件管理、版本控制和一键部署,Claude.ai不仅是一个代码助手,更像是一个全面的serverless开发平台。文中还呼吁国内厂商关注此类技术的发展。
815 2
|
Kubernetes Cloud Native 应用服务中间件
对比 5 个开源网关项目,这家 SaaS 企业如何统一网关架构
对比 5 个开源网关项目,这家 SaaS 企业如何统一网关架构
45553 130
|
人工智能 决策智能 数据安全/隐私保护
新加坡AI监管政策
【1月更文挑战第19天】新加坡AI监管政策
864 1
新加坡AI监管政策
|
监控 关系型数据库 MySQL
守护进程到底是什么?如何创建?(图文并茂,你不得不看的一篇文章)
**守护进程(Daemon Process)详解**:守护进程是后台运行的无终端关联的系统进程,常在启动时启动,提供持续服务,如网络服务、日志记录和定时任务。其特点包括脱离终端、后台运行、持久服务、资源管理和错误处理。创建守护进程涉及重定向文件描述符、创建新会话、改变工作目录等步骤。`ps` 和 `top` 命令用于查看守护进程,前者提供进程快照,后者显示实时资源使用情况。
1599 0
|
Python
Python中的逻辑运算符:且(and)与或(or)
Python中的逻辑运算符:且(and)与或(or)
6571 0
|
Oracle 关系型数据库 数据库
innodb_lock_wait_timeout参数的了解
前言:在管理ORACLE的工作中,经常发现因为锁等待的原因导致应用宕机了。Mysql考虑到自身的性能和架构等因素,InnoDB数据库引擎增加了参数innodb_lock_wait_timeout,避免在资源有限的情况下产生太多的锁等待; 一、innodb_...
3356 0
|
消息中间件 存储 Kafka
深入浅出分析kafka客户端程序设计 ----- 消费者篇----万字总结(上)
深入浅出分析kafka客户端程序设计 ----- 消费者篇----万字总结(上)
741 1

热门文章

最新文章