Fork me on GitHub
侧边栏

随笔分类 -  USB

1 2 3 4 5 ··· 10 下一页
摘要:usb hal实现 1. uevent_event usb插拔的时候,内核会上传usb相关的uevent事件;接收并处理uevent事件 static void uevent_event(uint32_t /*epevents*/, struct data *payload) { char msg[ 阅读全文
posted @ 2025-08-13 21:00 yooooooo 阅读(75) 评论(0) 推荐(0)
摘要:首先,我们知道ADB是间接调用并向开发人员输出log【日志】信息来对Android中的程序呢进行调试的,在Android中有log这么个类,它是专门用来对我们开发人员或者系统自带的log进行处理;ADB本身也是程序,所以我们也可以调试ADB本身;我们就可以在ADB模块的修改和优化上添加我们自己的lo 阅读全文
posted @ 2025-08-07 23:34 yooooooo 阅读(77) 评论(0) 推荐(1)
摘要:在前一篇的文章中,我们对ADB在host端上的运行的代码进行了一个简单的梳理,一篇文章肯定是不能把host端的ADB讲清楚,所以只是以“adb root”命令的执行情况来进行简单的梳理,其中涉及的其他内容就不能深入。可以说前一篇其实主要就是对adb client的大致流程了【没错,adb clien 阅读全文
posted @ 2025-08-07 23:20 yooooooo 阅读(55) 评论(0) 推荐(0)
摘要:host端的ADB,就是我们平常开发在电脑终端上运行的 adb ,从构成上来说,host端的ADB分为两个部分,一部分是adb server,一部分是adb client;server处理来自client的请求,client主要就是想server发送请求和接受回应的作用。 我们在终端键入的“adb 阅读全文
posted @ 2025-08-07 23:11 yooooooo 阅读(47) 评论(0) 推荐(0)
摘要:前面我们对ABD的adbd部分的main()方法进行大概梳理,了解到main()函数的结构和函数调用;今天我们了解adbd_main()函数是怎么工作的; 1. adb_main 代码说明 int adbd_main(int server_port) { //将当前进程的文件创建掩码设置为mask, 阅读全文
posted @ 2025-08-07 23:09 yooooooo 阅读(28) 评论(0) 推荐(0)
摘要:前面我们对ADB从整体上进行了简单的概括梳理,我们对adb的了解应该比日常开发了解的更多了。现在就需要从局部对adb进行分析,了解它组成部分的具体工作原理是怎么样的,相互之间又是怎么进行交互的。 ADBD (ADB daemon) 在上一篇内容里我们知道adbd主要作用是连接ADB Server 和 阅读全文
posted @ 2025-08-07 22:26 yooooooo 阅读(33) 评论(0) 推荐(0)
摘要:前言 因为工作需要,需要对ADB进行分析分析;对adb的一般操作我们Android开发人员肯定是不陌生的。但是觉adb是怎么工作的,估计很多人了解的不多,那我们就对adb的工作原理进行一下分析。 ADB的概述 我一开始想的是直接从源码入手,看看ADB的源码结构是怎么样的,为此我花了大概一天的时间,从 阅读全文
posted @ 2025-08-07 22:15 yooooooo 阅读(79) 评论(0) 推荐(0)
摘要:数据消息应由消息头组成,后面跟着一个或多个数据对象。数据消息很容易识别,因为消息头中的Number of Data Objects字段为非零值。 有许多类型的数据对象用于组成数据消息。例如: 电源数据对象(PDO),用于公开Source端口的电源功能或Sink的电源要求。 汇聚端口用于协商合同的请求 阅读全文
posted @ 2025-04-30 11:44 yooooooo 阅读(470) 评论(0) 推荐(0)
摘要:1 extcon介绍 extcon是External Connector的简称,用于抽象外部连接器,比如说Audio Jack、USB MicroB/TypeC接口等。 extcon驱动的主要功能是识别外部连接器状态变化,并将状态变化通知到与外部连接器相关的其他驱动。 2 extcon内核配置 ex 阅读全文
posted @ 2025-04-21 22:41 yooooooo 阅读(110) 评论(0) 推荐(0)
摘要:协议层管理设备与其主机之间的数据端到端流动。该层基于链路层保证头包的传递,并根据传输类型为其余数据包增加端到端的可靠性。 除非特别注明,否则要求适用于SuperSpeed和SuperSpeedPlus架构。以Gen 1x1速度运行的Gen 2速度设备,无论其额外能力(如Gen 2速度)如何,只能使用 阅读全文
posted @ 2025-03-04 10:27 yooooooo 阅读(127) 评论(0) 推荐(0)
摘要:链路层具有维持链路连接性的责任,从而确保在两个链路伙伴之间的成功数据传输。基于包(packets)和链路命令(link commands)定义了健壮的链路流程控制。数据包在链路层被准备好,携带数据和不同的信息在主机和设备之间传输。链路命令的定义是为了链路伙伴两者之间的通信。包帧(Packet fra 阅读全文
posted @ 2025-02-22 15:21 yooooooo 阅读(345) 评论(0) 推荐(0)
摘要:写Device USB驱动的时候,当Bulk送信发送的数据长度恰好是wMaxPacketSize的整数倍时,是否应该发送0包的问题搞得我焦头烂额。查找了好多资料,有的说要加,这是USB协议的一部分;有的说要加,这是微软的霸王条款;也有的说不要加,因为协议里没写这一条,送信成功之后USB传输的任务就完 阅读全文
posted @ 2025-02-21 09:47 yooooooo 阅读(205) 评论(0) 推荐(0)
摘要:当Message Header中的Number of Data Objects字段设置为0,控制消息仅由一个Message Header和一个CRC组成。协议层发起控制消息(如,Accept Message, Reject Message 等)。 控制消息类型在消息头的Message Type字段( 阅读全文
posted @ 2025-02-19 21:19 yooooooo 阅读(445) 评论(0) 推荐(1)
摘要:1.协议层 1.1.超高速传输事务 超高速事务(SuperSpeed transactions)由主机对设备端点请求或发送数据开始,并在端点发送数据或确认收到数据时完成。 超高速总线上的数据传输(transfer)是主机请求设备应用程序生成的数据,然后该请求被分解成一个或多个突发事务(burst t 阅读全文
posted @ 2025-02-04 22:53 yooooooo 阅读(777) 评论(0) 推荐(0)
摘要:USB 链路训练和USB 枚举是 USB 设备与主机之间成功通信的两个重要阶段,它们虽然各自独立,但紧密相连,并共同确保 USB 设备能够正常工作。 1. USB 链路训练 (Link Training) 链路训练是USB主机与设备之间在物理连接层进行的初始化过程,目的是确保数据传输的物理链路处于正 阅读全文
posted @ 2025-01-13 22:48 yooooooo 阅读(241) 评论(0) 推荐(0)
摘要:eUSB 和 repeater 都与 USB信号传输 和 USB拓展 有关,尤其是在处理较长距离或多个设备连接时,但它们的功能和目的不同。下面是两者之间的关系和区别: 1. eUSB(Enhanced USB) eUSB 是一种改进的 USB 技术,旨在提高信号质量和传输速度。它通常用于 增强 US 阅读全文
posted @ 2025-01-09 23:50 yooooooo 阅读(561) 评论(0) 推荐(0)
摘要:在 USB Type-C 接口中,SBU1 和 SBU2 是辅助信号线(Sideband Use),它们在不同的应用场景中有不同的用途12。以下是它们的一些主要作用: DisplayPort 替代模式(Alt Mode):在 DisplayPort 替代模式下,SBU1 和 SBU2 通常用作音频辅 阅读全文
posted @ 2025-01-09 16:32 yooooooo 阅读(4891) 评论(0) 推荐(0)
摘要:一、Type-C的DP AlT Mode Type-C 上 配置 Alternative Mode(Alt Mode)。这种配置可以使得其他协议比如DP、HDMI、Thunderbolt™、MHL(mobile high-definition link),以及PCIe等在 Type C线缆上传输。以 阅读全文
posted @ 2025-01-09 16:15 yooooooo 阅读(1173) 评论(0) 推荐(0)
摘要:先来看看协议层主要做什么事情: 本章描述了USB电源传输规范协议层的要求,包括: 如何构建和使用消息的细节。 计时器和超时值的使用。 使用消息和重试计数器。 复位操作。 错误处理。 状态下的行为。(状态机) 1、Message 先来了解一下Message,本规范定义了三种类型的Message: 控制 阅读全文
posted @ 2024-12-29 14:06 yooooooo 阅读(436) 评论(0) 推荐(1)
摘要:什么是UAC/UAD UAC是USB Audio Class的缩写,有时也叫UAD,UAD是USB Audio Device的缩写。 UAC/UAD定义了在USB规范下实现音频的设备的实现和控制功能,这些功能包括不仅音频数字部分的,也包括模拟部分。这些音频数据(模拟和数字)和用于直接控制音频环境的功 阅读全文
posted @ 2024-12-27 11:34 yooooooo 阅读(927) 评论(0) 推荐(0)

1 2 3 4 5 ··· 10 下一页