RK3568平台 USB数据包的收发格式
一.USB硬件拓扑结构

- compound device :多个设备组合起来,通过HUB跟Host相连
- composite device :一个物理设备有多个逻辑设备(multiple interfaces)
在软件开发过程中,我们可以忽略Hub的存在,硬件拓扑图简化如下:

一个物理设备里面可能有多个逻辑设备,Hos可以外接多个逻辑设备,硬件拓扑图如下:

二.USB协议层
问题提出:
->如何寻址设备?
->如何表示数据方向(读、还是写)
->如何确认结果?
提前罗列出来:
USB系统是一个Host对应多个设备,要传输数据首先要通知设备:
-> 发出IN令牌包:表示想读数据,里面含有设备地址
-> 发出OUT令牌包:表示想写数据,里面含有设备地址
数据阶段:
->Host想读数据:前面发出IN令牌包后,现在读取数据包
->Host想发出数据:前面发出OUT令牌包后,现在发出数据包
结果如何?有握手包:
->Host想读数据,设备可能未就绪,就会回应NAK包
->Host想写数据,它发出数据后,设备正确接收了,就回复ACK包
待更新。。。。。。。
相关文章:
RK3568平台 USB数据包的收发格式
一.USB硬件拓扑结构 compound device :多个设备组合起来,通过HUB跟Host相连composite device :一个物理设备有多个逻辑设备(multiple interfaces) 在软件开发过程中,我们可以忽略Hub的存在,硬件拓扑图简化如下&#x…...
Day 8.TCP通信
TCP通信 TCP发端: socket connect send recv close TCP收端: socket bind listen accept send recv close 1.connect int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen); 功能:发…...
小游戏加固方案已全面适配微信、QQ、抖音、快手、美团、华为、支付宝渠道
2023年,国内移动游戏收入与游戏用户规模双双创下历史新高。其中小游戏异军突起,市场规模达到200亿元,同比增长300%,成了万众瞩目的行业新风口。 小游戏的高速发展带来了更多的活力,产出了多款月流水过亿的热门游戏。行…...
粉色ui微信小程序源码/背景图/头像/壁纸小程序源码带流量主
云开发版粉色UI微信小程序源码,背景图、头像、壁纸小程序源码,带流量主功能。 云开发小程序源码无需服务器和域名即可搭建小程序另外还带有流量主功能噢!微信平台注册小程序就可以了。 这套粉色UI非常的好看,里面保护有背景图、…...
chrome选项页面options page配置
options 页面用以定制Chrome浏览器扩展程序的运行参数。 通过Chrome 浏览器的“工具 ->更多工具->扩展程序”,打开chrome://extensions页面,可以看到有的Google Chrome扩展程序有“选项Options”链接,如下图所示。单击“选项Options”…...
迭代器失效问题(C++)
迭代器失效就是迭代器指向的位置已经不是原来的含义了,或者是指向的位置是非法的。以下是失效的几种情况: 删除元素: 此处发生了迭代器的失效,因为erase返回的是下一个元素的位置的迭代器,所以在删除1这个元素的时候&…...
2-web端管理界面使用rabbitmq
Web管理界面可以直接操作RabbitMQ,下面进行操作并记录步骤 1、添加交换器: Add a new exchange 中,Name是交换器名称,Type是交换器类型,有direce、fanout、heders、topic 4种。 这里先只填Name和选个类型,…...
【华为OD机试】最多购买宝石数目【C卷|100分】
【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述: 橱窗里有一排宝石,不同的宝石对应不同的价格, 宝石的价格标记为gems[i],0<=i<n, n = gems.length 宝石可同时出售0个或多个,如果同时出售多个,则要求出售的宝石编号连续; 例如…...
RK3588 Android 12 源码编译与开发板烧录
前言 开发板型号:RK_EVB7_RK3588_LP4…_V11 获取RK3588源码 解压RK提供的Android 12的tgz,开通权限 your_verify.sh # 身份验证脚本(由RK提供) .repo/repo/repo sync -l # 检出代码 .repo/repo/repo sync -c # 同…...
学习JAVA的第十四天(基础)
目录 Collection集合 迭代器遍历 增强for遍历 Lambda表达式遍历 List集合 遍历 数据结构 栈 队列 数组 链表 前言: 学习JAVA的第十三天 Collection集合 Collection的遍历方式: 迭代器(不依赖索引)遍…...
安捷伦N5182A信号源 AgilentN5182A
描述: 1)信号特性: 250 kHz to 3 or 6 GHz频率范围 (可选低至 100 kHz) 13 dBm 1GHz输出功率 5dBm输出功率时W-CDMA动态范围:单载波 ≤-73 dBc ;4载波≤-66 dBc ≤1.2 ms切换速度在SCPI模式 2)调制与扫描&#x…...
就业班 2401--3.7 Linux Day13--日志轮转+jumpserver堡垒机
一、日志轮转 日志重要性 Linux系统日志对管理员来说,是了解系统运行的主要途径,因此需要对 Linux 日志系统有个详细的了解。 Linux 系统内核和许多程序会产生各种错误信息、告警信息和其他的提示信息,这些各种信息都应该记录到日志文件中&a…...
信息安全概论 习题
用密钥information构造一个Playfair矩阵 Playfair密码是一种替换加密技术,它不像传统的单字母替换密码那样工作,而是将信息分成一对字母(双字母)进行加密。构造Playfair矩阵时,首先需要一个密钥词,然后根据…...
仓储管理系统(WMS) 的研发历程-PRD撰写
题外话:PRD的展现形式有多种,有的人喜欢在axure上直接做产品描述,觉得word较为过时,有的人认为axure不专业,任何展现形式都无可厚非,重要的达到PRD的目的,PRD的目标是让团队知道需求实现细节&am…...
springboot实现多线程开发(使用@Async注解,简单易上手)
根据springboot的核心思想便捷开发,使用多线程也变得简单起来,通过一下几个步骤即可实现。 核心注解 EnableAsync将此注解加在启动类上,使项目支持多线程。 Async 使用我们的Async注解在所需要进行多线程的类上即可实现。 配置线程池 …...
并发支持库(1)-线程
线程允许多个程序任务在统一时间执行,不同的线程可以共享内存空间,每个线程也有自己的栈空间。 线程类 thread 类thread表示单个执行线程。线程在thread构造对象时开始执行。每个thread对象表示唯一的一个线程,thread不支持复制构造和复制…...
2024年最新阿里云服务器地域选择方法,以及可用区说明
阿里云服务器地域和可用区怎么选择?地域是指云服务器所在物理数据中心的位置,地域选择就近选择,访客距离地域所在城市越近网络延迟越低,速度就越快;可用区是指同一个地域下,网络和电力相互独立的区域&#…...
Frida实战:Java、Native、SO层面的Hook与主动调用详解
引言 Frida是一款强大的动态代码插桩工具,支持对Android和iOS应用进行实时调试和注入。本文将通过实例详细解析如何在Frida中实现对Java层、Native层(JNI)以及.so库内函数的Hook与主动调用。 一、Hook Java层函数 首先,我们展示…...
Codeforces Round 883 (Div. 3)(集训队加训1)
A.如果钉子与地面距离大于绳子的长度就必须剪 #include<bits/stdc.h> #define eps 1e-5 #define INF 1e9 using namespace std; typedef long long ll; const int N 2e6 9; int a[N],b[N],cl[N]; void Lan(){int n;cin>>n;for(int i1;i<n;i){cin>>a[i]…...
自封装 bind 方法(二)
因为 bind 的使用方法是 某函数.bind(某对象,...剩余参数) 所以需要在 Function.prototype 上进行编程将传递的参数中的某对象和剩余参数使用 apply 的方式在一个回调函数中执行即可要在第一层获取到被绑定函数的 this,因为要拿到那个函数用 apply /***…...
实测Taotoken多模型聚合调用的响应延迟与稳定性观感
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 实测Taotoken多模型聚合调用的响应延迟与稳定性观感 在项目开发中,我们常常需要接入不同的大模型来满足多样化的需求。…...
终极代码阅读神器:MultiHighlight智能高亮插件完整指南
终极代码阅读神器:MultiHighlight智能高亮插件完整指南 【免费下载链接】MultiHighlight Jetbrains IDE plugin: highlight identifiers with custom colors 🎨💡 项目地址: https://gitcode.com/gh_mirrors/mu/MultiHighlight 你是否…...
Ubuntu 18.04.6 从零到一:新手避坑与高效配置实战指南
1. 为什么选择Ubuntu 18.04.6? Ubuntu 18.04.6是长期支持版本(LTS)的最终更新,特别适合需要稳定系统的用户。相比最新版本,它的软件生态更成熟,社区支持更完善。我实测发现,这个版本对老硬件兼容…...
终极Windows 11优化指南:使用Win11Debloat开源工具提升系统性能的完整方案
终极Windows 11优化指南:使用Win11Debloat开源工具提升系统性能的完整方案 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes …...
避坑指南:用TensorFlow 2.x和HuggingFace Transformers搞定中文NER,我踩过的这些坑你别再踩
中文NER实战避坑手册:TensorFlow 2.x与HuggingFace Transformers的进阶技巧 在自然语言处理领域,命名实体识别(NER)一直是核心任务之一。对于中文文本而言,由于语言特性的差异,开发者往往会遇到比英文NER更…...
解决Claude Code频繁封号问题转向Taotoken稳定服务的配置指南
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 解决Claude Code频繁封号问题转向Taotoken稳定服务的配置指南 如果你在使用 Claude Code 时遇到了账号不稳定或 Token 额度受限的问…...
通过curl命令快速测试Taotoken的API兼容性与连通性
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过curl命令快速测试Taotoken的API兼容性与连通性 在接入大模型服务时,开发者常常需要一个快速、轻量的方法来验证API…...
Kubernetes轻量级服务网格Cetus:核心流量治理与Sidecar代理实践
1. 项目概述:一个为Kubernetes而生的智能代理如果你正在管理一个规模不小的Kubernetes集群,并且对服务网格(Service Mesh)的复杂性望而却步,或者觉得像Istio这样的“巨无霸”方案有些杀鸡用牛刀,那么你很可…...
在 Simulink 中搭建 DSOGI 模块和双 PI 环
目录 📐 第一步:理解对称分量法与正负序分离原理 🛠️ 第二步:Simulink 建模核心步骤 📊 第三步:仿真结果与波形分析 在 Simulink 中搭建 DSOGI 模块和双 PI 环 在上一节我们实现了理想电网下的无功补偿…...
【2026最新】应对维普算法升级,5大降AI工具横测,一次稳降至25%(附手改秘籍)
知网和维普的AIGC检测系统又更新了! 在当下的关口,如何在不牺牲质量的前提下,优化初稿表达,安全地降低AI痕迹,成了所有小伙伴们必须解决的一个问题。网络上各种“降AI神器”铺天盖地,这些工具到底靠不靠谱…...
