首页
学习
活动
专区
工具
TVP
发布

linux驱动个人学习

专栏成员
724
文章
1444713
阅读量
184
订阅数
USB总线-Linux内核USB3.0设备控制器之UDC驱动分析(六)
UDC驱动的接口都定义在drivers/usb/gadget/udc/core.c文件中。USB Function驱动通过调用这些接口匹配及访问USB设备控制器,而底层USB控制器驱动要实现这些接口定义的功能。下面分析一下主要的UDC驱动接口调用流程。
233333
2022-12-31
9.2K0
Ftrace function graph简介
由于android开发的需要与systrace的普及,现在大家在进行性能与功耗分析时候,经常会用到systrace跟pefetto. 而systrace就是基于内核的event tracing来实现的。以如下的一段pefetto为例。可以看到tid=1845的线程,在被唤醒到CPU5上之后,在runnable状态上维持了503us才开始运行,一共运行了498us.
233333
2022-09-28
6450
一文搞懂 Ftrace 的实现原理
以 blk_update_request 为例,看下其开启 Ftrace 前后的反汇编代码:
233333
2022-09-23
5570
Regmap 框架:简化慢速IO接口优化性能
Regmap 机制是在 Linux 3.1 加入进来的特性。主要目的是减少慢速 I/O 驱动上的重复逻辑,提供一种通用的接口来操作底层硬件上的寄存器。其实这就是内核做的一次重构。Regmap 除了能做到统一的 I/O 接口,还可以在驱动和硬件 IC 之间做一层缓存,从而能减少底层 I/O 的操作次数。
233333
2022-05-10
8890
基础——SPI与QSPI的异同,QSPI的具体协议是什么,QSPI有什么用
SPI协议其实是包括:Standard SPI、Dual SPI和Queued SPI三种协议接口,分别对应3-wire, 4-wire, 6-wire。
233333
2021-11-24
7.8K0
Linux内核调试技术——kprobe使用与实现
Linux kprobes调试技术是内核开发者们专门为了便于跟踪内核函数执行状态所设计的一种轻量级内核调试技术。利用kprobes技术,内核开发人员可以在内核的绝大多数指定函数中动态的插入探测点来收集所需的调试状态信息而基本不影响内核原有的执行流程。kprobes技术目前提供了3种探测手段:kprobe、jprobe和kretprobe,其中jprobe和kretprobe是基于kprobe实现的,他们分别应用于不同的探测场景中。本文首先简单描述这3种探测技术的原理与区别,然后主要围绕其中的kprobe技术进行分析并给出一个简单的实例介绍如何利用kprobe进行内核函数探测,最后分析kprobe的实现过程(jprobe和kretprobe会在后续的博文中进行分析)。
233333
2021-09-08
5.7K0
Android功耗(9)---MTK功耗问题分析1
<7>[ 129.680310] -(0)[913:system_server][name:mt_sleep&][SLP] @@@Chip_pm_enter@@@
233333
2020-10-26
1.7K1
Linux kernel中常见的宏整理
替换列表和标识符列表都是将字符串 token 化以后的列表。区别在于标识符列表使用,作为不同参数之间的分割符。每一个参数都是一个 token 化的列表。在宏中空白符只起到分割 token 的作用,空白符的多少对于预处理器是没有意义的。
233333
2019-12-20
1.7K0
i2c中start和restart的区别【转】
有的硬件芯片提供了一个个寄存器,供我们很好的操作i2c,但是,在用的时候,我们是不知道他到地是怎么操作的,下边,我就探讨下i2c中的start和restart的区别。
233333
2019-11-18
2.1K0
liteos 异常接管(十五)
异常接管是操作系统对在运行期间发生异常的情况进行处理的一系列动作,譬如打印异常发生时当前函数调用栈信息、 cpu现场信息、任务的堆栈情况等。
233333
2019-06-19
1K0
ioremap_nocache() 函数的使用
调用ioremap_nocache()函数之后,返回一个线性地址,此时CPU 可以访问设备的内存(已经将其映射到了线性地址空间中了),此时CPU可以使用访问内存的指令访问设备的内存空间,此时我们就可以像访问内存一样来访问设备的内存(寄存器)。
233333
2019-05-25
1.5K0
海思寄存器操作
参数address既可以是寄存器地址,也可以是内存地址,所以以上工具也可以用于内存查看、修改。
233333
2019-05-25
1.5K0
10. [mmc subsystem] host——host实例(sdhci-msm说明)
sdhci-msm是指高通的mmc host,其使用了标准SDHC标准。故可以使用前面说的《host(第二章)——sdhci》和《host(第三章)——sdhci-pltfm说明》的接口。
233333
2019-05-25
3.1K0
9. [mmc subsystem] host——sdhci-pltfm说明
sdhci-pltfm是指在sdhci core的基础上,提供了统一对sdhci_host的必要属性进行解析和设置的方法。
233333
2019-05-25
8770
8. [mmc subsystem] host——sdhci
SDHC:Secure Digital(SD) Host Controller,是指一套sd host控制器的设计标准,其寄存器偏移以及意义都有一定的规范,并且提供了对应的驱动程序,方便vendor进行host controller的开发。
233333
2019-05-25
2.4K0
5. [mmc subsystem] mmc core(第五章)——card相关模块(mmc type card)
card相关模块为对应card实现相应的操作,包括初始化操作、以及对应的总线操作集合。负责和对应card协议层相关的东西。
233333
2019-05-25
2.3K0
海思uboot启动流程详细分析(一)
首先我们可以在u-boot.lds中看到ENTRY(_start),即指定了入口_start,_start也就是整个start.S的最开始;
233333
2019-05-25
2.9K0
ARMV8体系结构简介
本文的主要内容来源于ARMV8白皮书v5,对ARMV8做一个概述。包含如下的内容:
233333
2019-05-25
1.3K0
Lcd(一)显示原理
S5PV210处理器中自带LCD控制器,控制LCD的显示,把 LCD 图像数据从一个位于系统内存的 video buffer 传送到一个外部的 LCD 驱动器接口。
233333
2019-05-25
2.2K0
local_irq_disable和disable_irq的区别
local_irq_disable的功能是屏蔽当前CPU上的所有中断,通过操作arm核心中的寄存器来屏蔽到达CPU上的中断,此时中断控制器中所有送往该CPU上的中断信号都将被忽略。
233333
2019-05-25
1.6K0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档