08 2024 档案
摘要:前言 在 sysfs 文件系统下,查看 USB 设备,看到一些乱七八糟的设备显示,它们都是什么呢?今天来介绍一下。 root@ATK-IMX6U:~# ls /sys/bus/usb/devices/ 1-0:1.0 1-1 1-1.1 1-1:1.0 1-1.1:1.0 1-1.1:1.1 1-1
阅读全文
摘要:UDC-Gadget UDC:(USB Device Controller)用于管理和控制USB设备与主机之间的通信。 Gadget:Android在此层实现了adb,mtp(Media Transfer Protocol 媒体传输协议),mass_storage等。 早期的USB只支持单一的gad
阅读全文
摘要:DPM Device Policy Manager deals with the USB Power Delivery resources used by one or more ports on the basis of the local device policy the basis of t
阅读全文
摘要:keypad 在suspend的过程中导致Android无法进入suspend的问题,导致整体功耗过高,其实是主机都没有进入睡眠,通过以下打log的方式最终定位到问题,pmic vbus输出的时候会有reverse boost所以pmic侧的功耗也会有增加,当pmic电量低的时候会触发uvlo导致v
阅读全文
摘要:USB 3 Hub LVS Test Specification | USB-IF
阅读全文
摘要:usbmon配置 使用usbmon抓包分的,是需要 内核开启CONFIG_USB_MON=m, 重新编译内核, 编译ko : make ARCH=arm64 CROSS_COMPILE=aarch64-himix100-linux- CONFIG_USB_MON=m M=./drivers/usb/
阅读全文
摘要:WireShark中对USB数据捕获 可以监视与主机连接的usb数据. usb设备是三段地址描述,例如1.15.1,第一个是总线,第二个是设备地址,第三个是端口. USB数据抓包分析 这些是鼠标的数据包包抓包内容 键盘数据包,按下一个键后抓到的数据包,查询usb标准,对照后是a。
阅读全文
摘要:EAS调度器缘起 Linux内核的一直都使用完全公平调度器CFS(Completely Fair Scheduler)作为默认调度器,但是在使用中发现CFS如下几个问题。 CFS主要是为了服务器性能优先场景而设计的,主要目标是最大限度地提高系统的吞吐量,CFS调度的目标是所有任务都平均分配到系统所有
阅读全文
摘要:基于TI的Firmware Update固件升级的流程分析usb appliction layers的数据 USB Protocol Package ①/② map to check password correct Package Format: Byte[0] = Report Id Byte[
阅读全文
摘要:kasan_multi_shot 是 Linux 内核配置选项之一,与 Kernel Address Sanitizer (KASAN) 相关。KASAN 是一种内核内存错误检测工具,能够检测内核代码中的各种内存错误,例如越界访问、使用未初始化的内存、双重释放等。 默认情况下,KASAN 在检测到内
阅读全文
摘要:使用 LeCroy USB 逻辑分析仪分析 USB 数据传输中的丢包现象,通常涉及以下步骤: 1. 设置触发条件 在 LeCroy USB 逻辑分析仪中,设置适当的触发条件来捕获数据包丢失的场景。常见的触发条件可以包括: 特定的 PID(Packet Identifier)值,如 DATA0 或 D
阅读全文
摘要:此篇将重点介绍几种常用的Android性能分析工具: 一、Logcat 日志 选取Tag=ActivityManager,可以粗略地知道界面Displaying的时间消耗。当我们打开一个Activity的时候,log会打印一串log如下: I/ActivityManager﹕ Displayed x
阅读全文
摘要:内核由于共享内存地址空间,如果没有合适的工具,很多踩内存的问题即使复现,也无法快速定位; 在新的内核版本中引入了一个新工具hardware breakpoint,其能够监视对指定的地址的特定类型(读/写)的数据访问,有利于该类问题的定位; 以下是一个使用该工具的例子(来自内核代码linux-3.10
阅读全文
摘要:背景 高通平台下提供了一个工具,专门用来抓取内核死机以后的dump信息。如果只是非系统层面的crash(例如底层应用,安卓程序),则不能抓取dump信息。 在阅读一些文档的时候知道有这个功能,但是一直没时间尝试。 介绍 流程为: 1、进入dump模式:系统需要触发crash, 同时机器需要进行war
阅读全文
摘要:usb_buffer_alloc(free) 说是为了更好的从名字看出这个函数真实做的事情:DMA coherency linux提供两种方式,来保证使用dma时,内存和硬件cache的一致性: usb_buffer_alloc() is renamed to usb_alloc_coherent(
阅读全文
摘要:要使用内核的硬件断点(hardware breakpoint)来定位内核模块中的内存访问问题,你可以通过以下步骤进行设置和调试。 1. 确定要监控的内存地址 首先,你需要确定你想要监控的内存地址。这可以是某个变量的地址或者某个内存区域的开始地址。内核模块的内存访问问题通常涉及访问越界、未初始化的指针
阅读全文
摘要:安卓go平台启动时间发现如下ueventd耗时1.907s问题: 01-11 00:20:02.854 0 0 I init : Parsing file /odm/etc/init... 01-11 00:20:02.854 0 0 E init : Unable to open '/odm/et
阅读全文
摘要:本章主要是基于之前的学习,实现一个hidraw的驱动,发现有两种用于识别usb设备的方式,放别是usb_device_id和hid_device_id hid_probe (1)hid_device_id kernel/msm-4.19/drivers/hid/usbhid/hid-core.c b
阅读全文
摘要:本章主要是基于之前的学习,实现一个hidraw的驱动,发现有两种用于识别usb设备的方式,放别是usb_device_id和hid_device_id hid_probe (1)hid_device_id kernel/msm-4.19/drivers/hid/usbhid/hid-core.c b
阅读全文
摘要:高通的某些平台将电源管理移植到了ADSP Subsystem, 分析一下其中比较关心的部分 Architecture —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— —— — | Generic TypeC Drvier PowerSupp
阅读全文
摘要:所谓的MODULE_SOFTDEP,就是两个两个模块之间本有依赖,但是一定要要加载顺序的要求。 用法很简单。 #define MODULE_SOFTDEP(_softdep) MODULE_INFO(softdep, _softdep) 举例如下: MODULE_SOFTDEP("pre: modu
阅读全文
摘要:eUSB总结 1.什么是eUSB 1.1 eUSB概念 eUSB是原USB物理层上的补充,为了解决USB_phy低压需求的问题而出现的,eUSB可以将信号电平降至1.2V甚至更低,与此同时可以优化电源效率。 概括为:一种用于芯片间互联的低电压、低功耗的内部接口。 1.2 应用背景 智能终端设备的尺寸
阅读全文
摘要:要通过启动参数启用或配置 Kernel Address Sanitizer (KASAN) 并设置相关的行为,你可以在启动 Linux 内核时添加以下参数: 启用 KASAN:使用 kasan=1 来启用 KASAN。如果你的内核默认没有启用 KASAN,你需要这个参数。 kasan=1 控制 pa
阅读全文
摘要:URB结构体 struct urb { /* private: usb core and host controller only fields in the urb */ struct kref kref; /* reference count of the URB */ void *hcpriv
阅读全文
摘要:因为要看usb charging的问题,所以需要补充一下battery的相关知识,算是入门吧 BAT SCH (1)VBATT_VSNS_P (2)BAT_THERM (3)I2C_SDA (4)I2C_SCL (5)VBATT_VSNS_M sbl1_hw_pre_ddr_init: (1)pm_
阅读全文
摘要:最近遇到了USB 插拔后,系统重启的问题,抓取串口log发现如下问题,log中查看trace分析就是空指针造成的panic Unable to handle kernel read from unreadable memory at virtual address 0000000000000000
阅读全文
摘要:眼图基础知识与详解 10分钟教会你看眼图 USB2.0 HUB眼图调试经验总结 一篇文章教你如何全面了解眼图测试! 预加重与去加重对眼图的影响 关于 USB 通信阻抗匹配的问题 硬件调试——眼图几个经典案例 眼图常见问题分析包含双眼皮的情况 PHY Tunning devicetree: qusb_
阅读全文
摘要:深入理解Android MTP之UsbService启动分析 分析了MTP的服务端的启动,本文来分析切换MTP模式后,存储中的数据(文件、目录)是如何映射到PC端的。 首先你得知道如何切换MTP模式。当手机通过usb连接电脑时,会出现一个关于usb的通知,点击通知后,会出现一个类似如下的界面 这个F
阅读全文
摘要:应用访问限制 分区存储的目标是保护应用和用户数据的隐私。这包括保护用户信息(例如照片元数据)、防止应用在未经明确许可的情况下修改或删除用户文件,以及保护下载到“下载”或其他文件夹的敏感用户文档。 使用分区存储的应用可具有以下访问权限级别(实际访问权限因实现而异)。 对自己的文件拥有读取和写入访问权限
阅读全文
摘要:前不久在高通 SDM450 平台接触了 voter 机制(投票机制)。最近终于得空,结合一个问题简单研究了一下。现将研究流程简单记录一下,由于时间有限,所以是实用为目的,没有做详细的分析,不过结合着这篇分析和源码一起参考,应该能快速地应用 voter 做一些事情。voter 第一步是找到 voter
阅读全文
摘要:前面的几篇都有涉及,所以本文学习一下pmic usb charger都相关的vote机制 OVP: Over Voltage Protection 过压保护 USB_IN: Input current limit 一般仅支持USB_IN即VBUS在输入(有些能支持DC_IN), APSD: auto
阅读全文
摘要:VID/PID识别USB设备 CDC-ACM驱动介绍 CDC-ACM(Communication Device Class——Abstract Control Model)驱动实现以USB设备驱动和tty设备驱动为基础,将USB设备驱动的实现看作tty驱动和硬件之间数据流转换的桥梁。tty数据发送,
阅读全文
摘要:schedtune.colocate 参数主要通过 /proc/sys/kernel/schedtune.colocate 接口进行配置。具体的使用方式和可选参数如下: 使用方法 你可以通过以下命令来读取或设置 schedtune.colocate 的值: 读取当前值: cat /proc/sys/
阅读全文
摘要:USBDeviceManager是一个Android系统中用于管理USB设备的类,它是系统服务之一。其主要功能是控制USB设备的连接和断开,以及管理USB设备的权限和状态。下面是对USBDeviceManager代码的简要分析: USBDeviceManager的构造函数: 在USBDeviceMa
阅读全文
摘要:一、环境:配置NDK环境 1、下载libusb源码: https://github.com/libusb/libusb/releases,如下图所示 2、删除一些和Android平台无关的文件,删除后的文件如下图所示: 思考问题: Android是怎么获取usb设备? 如上图所示:连接adb she
阅读全文
摘要:UsbHostManager和UsbDeviceManager的区别在于,UsbDeviceManager是将手机作为一个设备,比如手机连上电脑,使用adb、mtp等;而UsbHostManager,是将手机作为一个host,比如手机连接usb鼠标、usb摄像头等,就会new出一个UsbDevice
阅读全文
摘要:整体流程图 大概意思就是UsbHostManager启动监控线程,monitorUsbHostBus会调用usb_host_run函数(使用inotify来监听USB设备的插拔)不停的读取bus总线,读取到以后,当 1、设备插入:发送 广播ACTION_USB_DEVICE_ATTACHED 2、设
阅读全文
摘要:概要 本文的目的是介绍Android系统中MTP的一些相关知识。主要的内容包括:第1部分 MTP简介 对Mtp协议进行简单的介绍。第2部分 MTP框架 介绍Android系统下MTP的框架。第3部分 MTP启动流程 详细分析MTP服务的启动流程,包括Java层, JNI层, kernel相关知识的介
阅读全文
摘要:SchedTune SchedTune是一项与CPU调频相关的性能提升技术,它实现为一个cgroup控制器。 这个控制器提供了一个名称为schedtune.boost的配置参数,运行时系统可以使用它来更改该组中的进程的调度方式。 每当调整这个参数的时候,它会使受影响的进程看起来比实际更重(或更轻)。
阅读全文
摘要:1. driver driver/usb/dwc3/debugfs.c dwc3 probe ->dwc3 debugfs init() 2. enable debugfs mount -t debugfs none /sys/kernel/debug 3. user space path #Is
阅读全文
摘要:DWC3(DesignWare USB 3.0 Controller)和XHCI(eXtensible Host Controller Interface)都是与USB控制器相关的技术,但它们的作用和实现层次有所不同。 1. DWC3(DesignWare USB 3.0 Controller) 芯
阅读全文
摘要:usb hub区分端口 USB 子系统拓扑浅析 USB ID Database VendorID and ProductID usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 4.19 usb usb1
阅读全文
摘要:BC v1.2充电规范 Battery Charging Specification USB port 如何识别不同的Charger类型 USB Charger类型 USB_SDP_CHARGER POWER_SUPPLY_TYPE_USB ( Standard Downstream Port )
阅读全文
摘要:USB Battery Charging Specification 1.2(BC1.2)和 USB Power Delivery(USB PD)是两个不同的充电标准,它们在应用场景、充电能力、充电协议等方面有显著区别。 1. 标准简介 BC1.2(Battery Charging Specific
阅读全文
摘要:Fuse(filesystem in userspace),是一个用户空间的文件系统。通过fuse内核模块的支持,开发者只需要根据fuse提供的接口实现具体的文件操作就可以实现一个文件系统。由于其主要实现代码位于用户空间中,而不需要重新编译内核,这给开发者带来了众多便利。Google在Android
阅读全文
摘要:PBL(启动固化程序)-> XBL(扩展引导加载程序,负责初始化芯片驱动和核心应用功能。XBL通常会加载一些平台相关的驱动程序,并提供通用接口)-> ABL(应用引导加载程序,负责引导操作系统的启动。) 高通启用UEFI架构的bootloader,有些时候有些状态值,需要ABL阶段获取. 上层思维总
阅读全文
摘要:UEFI 介绍 UEFI(Unified extensible firmware interface)统一的可扩展固件接口,是一种详细描述类型接口的标准。 可扩展固件接口(Extensible Firmware Interface,EFI)是 Intel 为 PC 固件的体系结构、接口和服务提出的建
阅读全文
摘要:1.概念 (1)USB2.0帧和微帧属于物理层时间基准的概念,低速和全速下每个帧时长为1ms,高速下每个帧又分为8个微帧,即每个微帧时长为125us。 (2)USB主机和设备控制器同步后,每个微帧起始点开始传输数据,如果没有数据,则SOF包发送完毕之后,总线进入空闲状态,一会下面看解析图。 (3)每
阅读全文
摘要:
阅读全文
摘要:在高通平台上,ADSP(Audio Digital Signal Processor,音频数字信号处理器)可以通过 USB 接口与主机进行数据传输,以下是大致的 ADSP USB 流程: 主机发起 USB 设备请求:主机会通过 USB 总线发起设备请求,以与 ADSP 进行通信。ADSP 会响应这些
阅读全文
摘要:首先放一个社区iommupatch的网址:https://lore.kernel.org/linux-iommu/ 1: arm smmu的原理 1.1: smmu 基本知识 如上图所示,smmu 的作用和mmu 类似,mmu作用是替cpu翻译页表将进程的虚拟地址转换成cpu可以识别的物理地址。同理
阅读全文
摘要:1.HID设备概述 USB设备中有一大类就是HID设备,即Human Interface Devices,人机接口设备。这类设备包括鼠标、键盘、游戏手柄等,主要用于人与计算机进行交互。HID设备可以作为低速、 全速、高速设备用。由于HID设备要求用户输入能得到及时响应,故其传输方式通常采用中断传输。
阅读全文
摘要:1.字符串描述符相关概念 字符串描述符:首先,字符串描述符就是用字符串描述一个设备的一些属性,毕竟人能看懂的是字符,而不是十六进制,描述的属性包括设备厂商名字、产品名字、产品序列号、各个配置名字、各个接口名字,还有就是由我们用户自己定义的字符串,说白了就是起名字,让人们一看就知道这个设备是什么设备,
阅读全文
摘要:USB传输速度 USB1.0版本,USB LS(Low Speed低速),速度1.5Mbps。 USB1.1版本,USB FS(Full Speed全速),速度12Mbps。 USB2.0版本,USB HS(High Speed高速),速度480Mbps。 USB3.0版本,USB SS(Super
阅读全文
摘要:1.USB描述符 USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。今天主要是学习USB端点描述符的组成。 2.端点描述符组成 前面讲了设备描述符、标准配置描述符、接口描述符,本篇我们讲解端点描述符。首先要明确的一点是端
阅读全文
摘要:1.USB描述符 USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。今天主要是学习USB接口描述符的组成。 2.接口描述符组成 前面讲了设备描述符和标准配置描述符,本篇我们讲解接口描述符。首先要明确的一点是接口描述符不能
阅读全文
摘要:USB Type-C 连接器的 CC (Configuration Channel) 管脚用于实现插头方向检测和电源管理。具体来说,USB Type-C 连接器具有两个 CC 管脚:CC1 和 CC2。正反接检测功能的实现主要依赖于这两个 CC 管脚的电压状态。 正反接检测原理 CC 管脚的布局:
阅读全文
摘要:USB TYPE-C更加深入的应用,是从USB3.1开始的,这是因为从USB3.1开始,USB的功能开始变得更加丰富起来。 USB 3.1基本规格 有SS字样的代表支持PD,有SS和10的USB标志代表支持USB3.1及PD2.0 历代USB输出功率及标志比较 本图来源于:https://www.d
阅读全文
摘要:USB Power Delivery (USB PD) 和 USB Type-C 是两个不同但相关的技术标准,它们在功能和应用上有所区别。 1. USB Type-C 连接器标准: USB Type-C 是一种物理连接器标准。它定义了 USB 接口的外形和引脚排列。 双面插入: USB Type-C
阅读全文
摘要:1.USB描述符 USB描述符有设备描述符、标准配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。今天主要是学习USB标准配置描述符的组成。 2.标准配置描述符组成 一个USB设备至少有一个或者多个配置,这一点可以从设备描述符的最后一项bNumCon
阅读全文
摘要:我们第一个学习要点就是USB描述符,所谓描述符其实就是C语言里面的结构体或者数组,数组包含的信息说明当前的设备具有哪些特征。USB描述符有设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符,HID设备有HID描述符、报告描述符和物理描述符。我们先学会每个描述符的细节,我会写的非常详细且简洁
阅读全文
摘要:在 USB 通信中,控制传输(Control Transfer)是一个非常常见且重要的传输类型,主要用于配置设备、查询设备状态以及发送和接收命令。控制传输有三种主要形式:控制写传输(Control Write Transfer)、控制读传输(Control Read Transfer)和无数据控制传
阅读全文
摘要:USB协议详解第2讲(协议核心学习要点) 看了这么多概念,想必大家会问“我要学会USB协议,并且会编程,我具体要学习那些有关的内容?”,这一篇我们将会讲解在学习USB协议中务必要掌握的知识点,罗列如下(后期文章逐一攻克): (1)USB描述符 (2)USB传输 (3)USB事务 (4)USB包(☆☆
阅读全文
摘要:0.概括 USB协议学习中最重要几个概念如下,没有提及的就是对USB协议学习中不重要的或者编程不需要用到的。大家也不用着急,概念必须要学会,否则都不知道下面这些东西是什么还学什么通用串行总线协议,大家也不用怕,其实也没有那么高深莫测。 1.USB传输(Transfer) 2.USB传输中事务(Tra
阅读全文
摘要:最近碰到棘手的问题: 以太网进行iperf测试时, 发生了SMMU (System Memory Management Unit)访问异常导致内核崩溃. 原本只是内部测试发现, 后面在试验车上也概率性的出现. 问题发生的概率还不小. 很严重. 只能先从头把一些基本概念与流程梳理清楚. 好在最后还是找
阅读全文
摘要:ARM SMMU(System Memory Management Unit)是一种用于ARM架构的内存管理单元,它支持两阶段的地址转换机制,即Stage 1和Stage 2。这种机制允许操作系统和虚拟化环境中的hypervisor对内存访问进行更精细的控制。 Stage 1地址转换主要负责将虚拟地
阅读全文
摘要:在 ARM SMMU(System Memory Management Unit)中,Stream Table 是一个非常关键的数据结构,它用于管理和映射设备的内存访问请求。它的作用主要体现在以下几个方面: 1. 设备请求的流分类 - 在系统中,不同的外设可能通过 SMMU 发送内存访问请求。SMM
阅读全文
摘要:ARM SMMU (System Memory Management Unit) 和 IOMMU (Input-Output Memory Management Unit) 都是用于管理系统内存访问和保护的硬件模块,但它们有不同的功能和用途。 1. 功能与作用 - IOMMU:IOMMU 是一个通用
阅读全文
摘要:1.dex java程序编译成class后,dx工具将所有class文件合成一个dex文件,dex文件是jar文件大小的50%左右. 2.odex(Android5.0之前)全称:Optimized DEX;即优化过的DEX. Android5.0之前APP在安装时会进行验证和优化,为了校验代码合法
阅读全文
摘要:1、前言 在Linux-USB驱动笔记(四)–USB整体框架中有説到Gadget Function驱动,下面我们来具体看一下。 Gadget Function就是指设备的功能,比如作为U盘,需要文件存储的功能,则需要File Storage驱动,这个驱动也称为Function驱动。 2、Gadget
阅读全文
摘要:1、前言 在Linux-USB驱动笔记(四)–USB整体框架中有説到设备侧的设备控制器(UDC),下面我们来具体看一下。 2、设备控制器(UDC) USB设备控制器(UDC)驱动指的是作为其他USB主机控制器的USB硬件设备上的底层控制器驱动。该硬件和驱动负责将一个USB设备依附于一个USB主机控制
阅读全文
摘要:ftrace 中的 trace_options 选项用于控制追踪数据的收集和显示方式。你可以通过 /sys/kernel/debug/tracing/trace_options 文件来设置这些选项。每个选项代表了不同的追踪行为或输出格式。以下是一些常见的 trace_options 选项及其含义:
阅读全文
摘要:你一定在kernel source code中看过很多pr_debug()/dev_dbg()/print_hex_dump_debug()吧,这些debug语句提供更多的信息帮助我们了解内核运行流程或是定位问题,可以在运行时按per-callsite单独开启/关闭。那我们来看一下它是如何实现和使用
阅读全文
摘要:USB Type-C 接口支持三种模式:DFP(Downstream Facing Port)、UFP(Upstream Facing Port)和 DRP(Dual Role Port)。虽然这些术语主要与 USB Type-C 相关,但它们的概念可以在不同类型的 USB 接口中找到。 DFP(D
阅读全文
摘要:该系列文章总目录链接与各部分简介: Android Qcom USB Driver学习(零) USB接口类型 Android终端上常用的USB接口:TypeC(现在的主流),MicroB(以前的设备) 一、TypeC Hardware Interface USB-C引脚和功能指南 一文读懂USB T
阅读全文
摘要:USB Power Role 是指 USB 设备在供电方面所扮演的角色,主要分为供电方(Provider)和受电方(Consumer)。在 USB 供电协议中,电源角色的管理尤为重要,尤其是在 USB Power Delivery(USB PD)协议中。以下是一些关键的角色和相关术语: Provid
阅读全文
摘要:该系列文章总目录链接与各部分简介: Android Qcom USB Driver学习(零) 文章标题 文章链接 文章简介 Android Qcom USB Driver学习(零) https://blog.csdn.net/qq_40405527/article/details/125460598
阅读全文
摘要:首先,USB3.0传输的编码方式和USB2.0本质上是不同的。 1.USB3.0的编码方式 USB 3.0采用的是8b/10b编码方式,由于高速传输,信号干扰的问题,USB 3.0采用 8/10bit编码,会把8bit数据编码成10bit的数据进行传输,降低干扰,这样的做弊端是总线带宽的利用率会直接
阅读全文
摘要:1.概述 在同步通讯系统中,两个设备通讯则需要同步信号,同步信号分为时钟同步信号和自同步信号两种,时钟同步方式在通讯链路上具有时钟信号(IIC、SPI),自同步方式在通讯链路中没有同步信号(PCIE、USB),自同步方式常常适用于高速通讯系统中。 2.USB自同步传输 首先,USB 的数据是串行发送
阅读全文
摘要:USB(Universal Serial Bus)有几种不同的传输模式:低速(Low-Speed)、全速(Full-Speed)、高速(High-Speed)和超级速度(SuperSpeed)。同步字段(Sync Field)是 USB 协议中的一部分,用于同步接收端的时钟,以便正确地接收数据。以下
阅读全文
摘要:USB(通用串行总线)的不同版本在供电能力和规定上有所不同。以下是关于USB 2.0、USB 3.0和USB 3.1供电情况的详细信息: USB 2.0 最大供电电流: 500毫安 (mA) 最大供电电压: 5伏 (V) 最大供电功率: 2.5瓦 (W) 数据传输速率: 480兆比特每秒 (Mbps
阅读全文
摘要:以下是相关类型的详细说明: 地址:https://www.usb.org/documents 搜索device class 以下是USB所有支持的设备类型代码 地址:http://www.usb.org/developers/defined_class USB Class Codes Novembe
阅读全文
摘要:2020年最后一天了,感谢大家一年来对我文章的支持,有你们的支持就是我强大的动力。 今天来给大家介绍一个USB 协议分析软件LeCroy USB Advisor,软件安装包下载连接如下: 链接:https://pan.baidu.com/s/12qBCOjuy4i8kr1MHjBrfYQ 提取码:2
阅读全文
摘要:注意: (1)一个usb设备由一个或者多个接口组成; (2)每一个接口为usb设备的一个功能,比如上面的usb设备由两个接口,一个可用于鼠标,一个可用于键盘; (3)每个接口占用usb设备的多个端口资源; (4)windows通过一组管道(pipes)与usb设备的某个接口的端点进行数据交互实现某种
阅读全文
摘要:初次接触USB的同学,可能会被里面各种名词给搞晕,下面就来梳理一下这些知识,希望能帮助大家理解USB。 一,从最常见的名词说起 1.1 什么是USB 这个我就不多解释了,直译就是通用串行总线。再不明白的就百度。 1.2 USB协议版本 USB 1.0/1.1(low/full speed),传输速率
阅读全文
摘要:在USB体系架构中,经常会混用USB端点和USB管道的概念,包括本人也经常混用。但严格来说它们是两个不同的概念,具体表现在: 端点是USB设备端的概念,是真实的特理设备上的概念,其特性是通过端点描述符来描述的。而管道是USB主机端的上软件的概念,其概据USB的设备端点信息建立的数据软件数据通道。 端
阅读全文
摘要:查找Kernel启动阶段的延时原因 1.确保内核配置了如下选项 CONFIG_FTRACE: "Tracers" CONFIG_FUNCTION_TRACER: "Kernel Function Tracer" CONFIG_FUNCTION_GRAPH_TRACER: "Kernel Functi
阅读全文
摘要:1 前言 本文为 Ftrace 系列文章第二篇,描述 Ftrace 进阶用法。上一篇文章中我们接触到了 Ftrace 基本概念,知道了如何 trace 一个函数,知道了如何 enable 一个 trace event。 同时,上一篇文章也遗留了几个问题: 如何跟踪某个进程?如何跟踪一个命令,但是这个
阅读全文
摘要:I/O Prefetcher是高通本身提供的一套优化方案,可以用在Android手机App冷启动的时候。本文基于android Q 主要分libqti-iopd、vendor.qti.hardware.iop@2.0-impl、libqti-iopd-client_system、libqti-per
阅读全文