12 2022 档案
摘要:Sysdig 简介 Sysdig 官网 上对自己的介绍是: Open Source Universal System Visibility With Native Contaier Support. 它的定位是系统监控、分析和排障的工具,其实在 Linux 平台上,已经有很多这方面的工具 strac
阅读全文
摘要:前言 内核开发从业者,都知道一个代码调试"大杀器":printk !除此之外大家依据自己的习惯,还经常用一些诸如kdump这类的复杂工具。对于systemtap,有人可能熟悉有人可能没听过,本文从入门层次简介systemtap的原理和安装使用,分为两篇,本篇主要介绍原理和脚本语法。文章冗长,多处包含
阅读全文
摘要:1.简介 configfs是基于ram的文件系统,与sysfs的功能有所不同。sysfs是基于文件系统的kernel对象视图,虽然某些属性允许用户读写,但对象是在kernel中创建、注册、销毁,由kernel控制其生命周期。而configfs是一个基于文件系统的内核对象管理器(或称为config_i
阅读全文
摘要:1.概述 在usb gadget configfs引入到内核之前,内核都使用硬编码的方式实现复合设备,无法在用户空间动态修改和绑定不同的function驱动,若要修改,则需要修改内核代码,重新编码,非常不方便。目前这部分代码在被放到drivers/usb/gadget/legacy/目录下。被编译成
阅读全文
摘要:1.概述 UDC驱动的接口都定义在drivers/usb/gadget/udc/core.c文件中。USB Function驱动通过调用这些接口匹配及访问USB设备控制器,而底层USB控制器驱动要实现这些接口定义的功能。下面分析一下主要的UDC驱动接口调用流程。 2. 接口分析 2.1.驱动绑定 C
阅读全文
摘要:trace-cmd是设置读取ftrace的命令行工具,kernelshark既可以记录数据,也可以图形化分析结果。 trace-cmd和kernelshark源码都由kernel.org维护在trace-cmd.git。 kernekshark还有自己的帮助网站 kernelshark.org。 1
阅读全文
摘要:IPA(Intelligent PowerAllocation)是由ARM开发的符合linux内核thermalframework的governor,代码中的名字为power_allocator,旨在满足温控效果的条件下最大化性能。 IPA背景 熟悉ARM终端芯片系统的开发人员,应该对EAS(Ene
阅读全文
摘要:1.概述 USB设备控制器(UDC)驱动的框图如下图所示,由三部分组成。第一部分是UDC驱动核心层,在drivers/usb/gadget/udc/core.c文件中实现,该层是一个兼容层,将USB Function驱动和具体的USB gadget驱动隔离开,抽象了统一的接口和数据结构,向USB F
阅读全文
摘要:1. 前言 本文从regulator driver的角度,描述怎样基于regulator framework编写regulator驱动。同时,以此为契机,学习、理解regulator有关的物理特性,以便能够更好的使用它们。 2. regulator driver的实现步骤 2.1 确定系统中regu
阅读全文
摘要:1. 前言 Regulator,中文名翻译为“稳定器”,在电子工程中,是voltage regulator(稳压器)或者current regulator(稳流器)的简称,指可以自动维持恒定电压(或电流)的装置。 voltage regulator最早应用于功放电路中,主要用于滤除电源纹波(100或
阅读全文
摘要:1.概述 如下图所示,USB控制器可以呈现出两种不同的状态。USB控制器作为Host时,称为USB主机控制器,使用USB主机控制器驱动。USB控制器作为Device时,称为USB设备控制器,使用UDC(usb device controller)驱动。本节只分析USB控制器作为Device时的驱动框
阅读全文
摘要:一. USB CDC 类简介 USB的CDC类是USB通信设备类(CommunicaTIon Device Class)的简称。CDC类是USB组织定义的一类专门给各种通信设备(电信通信设备和中速网络通信设备)使用的USB子类。根据CDC类所针对通信设备的不同,CDC类又被分成以下不同的模型:USB
阅读全文
摘要:1.概述 RK33999使用synopsys dwc3的USB3.0控制器IP。早期的初始化需要在两个模块中进行,一个在rockchip官方提供的驱动中初始化,位于drivers/usb/dwc3/dwc3-rockchip.c文件中,主要初始化和CPU紧密相关的内容,如时钟、复位、电源、extco
阅读全文
摘要:1.RK3399 USB 下图是RK3399 SOC的框图。RK3399包含了2个USB2.0 Host控制器;两个USB3.0 OTG控制器,同时兼容USB2.0。USB3.0使用的是Synopsys公司的IP,驱动也使用Synopsys的dwc3 USB驱动。 2.USB3.0 OTG Cont
阅读全文
摘要:1.简介 USB是通用串行总线(Universal Serial Bus)的缩写。在USB总线出现之前,计算机与键盘、鼠标、扫描仪、打印机都使用专用的接口连接,不同设备的接口不能互用,扩展性很差,每次插拔设备都要关闭计算机,不支持热插拔,且通信速率很低。为了解决上述问题,USB总线诞生了。USB总线
阅读全文
摘要:USB 控制器 1. DRD driver DRD驱动在usb/dwc3 1.1 dts dwc3@44000000 { /* Compatible ID used by the Linux driver for this kind of device */ compatible = "snps,d
阅读全文