![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux设备驱动模型
文章平均质量分 88
不想好好取名字
这个作者很懒,什么都没留下…
展开
-
Linux drm内存管理(二) TTM内存管理基础概念
通过之前的文章我们知道了TTM是在GEM的基础上实现的一套GPU内存管理框架,原创 2023-02-28 11:07:42 · 2502 阅读 · 1 评论 -
Linux Driver优化S4 hibernate休眠速度
Driver可优化的地方1.S4 hibernate会冻结用户层和内核层的线程,内核层冻结如果用时超过0.001S是需要优化的。2.预分配之后Driver额外使用大量的page,造成image大小增加,增加image写入disk的时间。这个其实也蛮难优化,可以考虑free一些cache page,以及减少内存的使用,或者考虑使用shmem?3.Driver电源管理回调耗时,计算一下各回调的时间,找一下哪些耗时。Driver不可优化/难优化的:1.预分配阶段分配大量的page会耗时间。原创 2022-12-01 23:16:45 · 1055 阅读 · 4 评论 -
Linux中断子系统学习笔记
Linux中断子系统学习笔记Linux下中断模型:外设(产生中断信号),中断控制器(负责处理外设产生的中断控制器),CPU工作原理:外设产生一个中断,通过irq request line向CPU方向通知中断发生。由于外设很多,所以使用中断控制器来集合中断信号,再传给CPU进行处理。中断控制器是连接外设中断系统和CPU系统的桥梁。根据外设irq request line的多少,中断控制器可以级联。CPU的主要功能是运算,因此CPU并不处理中断优先级,那是中断控制器的事情。对于CPU而言,一般有两种中断原创 2020-10-14 11:05:11 · 394 阅读 · 0 评论 -
Linux V4L2 源码分析
Linux V4L2 源码分析前言层次必要的数据结构源码分析ov2640.c前言Video For Linux 2真的是一个很复杂的框架,抽象倒不是它复杂的原因,是因为耦合了其他框架的内容,导致要掌握V4L2必须得需要一个非常广的内核层知识面,才能开始学习。这篇文章将会以ov2640.c为例子进行源码分析,我会尽量从上往下,也就是用户层调用到内核层进行分析。注:在Linux内核层学习,你得学会适应庞大代码给你带来的不安感。层次首先,像OV2640这样类似的摄像头传感器,是由多部分组成的,需要I原创 2020-10-13 10:05:25 · 1356 阅读 · 0 评论 -
深入理解FBTFT--编写自己的FB驱动2(Driver)
深入理解FBTFT--编写自己的FB驱动2 Driver前言FBTFT Driver过程FBTFT 图形写入内部函数之间的调用未完,更新中。。。前言我们之前完成了对fbtft_device.c的修改,使得在fboled_device.c只包含用于设置SPI控制器的信息,具体的显示屏信息我们将放在Driver中进行设置,为什么我们要这么做?按照fbtft_device.c中的思想,fbtft_device.c包含里大量显示屏的相关信息,这些信息将被提取传给driver,例如:像素长宽高等。在fbtft源原创 2020-10-02 19:38:57 · 1419 阅读 · 3 评论 -
深入理解FBTFT--编写自己的FB驱动1(Device)
深入理解FBTFT--编写自己的FB驱动文章适用人群写前分析开始结尾文章适用人群本系列适合有一定内核基础,并向要往内核层发展的人阅读,应用层开发和0基础的人群不适合阅读本篇文章。本篇在Linux统一设备模型中,属于Device的教程。写前分析我们在不看源码前简单分析一下,FBTFT设备模块涉及到哪些组成部分。TBTFT控制显示屏主要通过SPI协议,应该会涉及到SPI设备的注册显示屏像素之类的信息设备模块比较简单,只负责添加一些描述数据传给驱动,另外在总线上申请资源。开始fbtft_de原创 2020-10-02 09:47:32 · 1290 阅读 · 0 评论 -
深入理解FBTFT--使用篇
深入理解FBTFT--使用篇文章背景文章目标正文材料:编辑Device添加Driver可能遇到的问题总结文章背景最近扣扣群里老是有人问fbtft该怎么用,为什么显示屏驱动不了,之前一直忙着学习Linux内核,国庆到了,该放假了(总结一波之前的学习成果了,顺便填坑),所以该系列是填坑系列。链接: 挖坑处:FBTFT源码逻辑分析没有看过的可以看一下,不看也没关系。总之虽然fbtft的代码年代久远已经停止维护被移在staging中,但是fbtft中逻辑的代码完全可以作为初学者第一篇理解内核模块的文章。那原创 2020-09-30 23:06:43 · 6551 阅读 · 8 评论 -
Linux PCI驱动学习小结--以8250.c文件为例子
PCI学习小结PCI规范这段时间学习了下Linux下PCI子系统和如何编写自己的PCI模块。总的来说,PCI协议清晰还是容易理解的。不过在查找相关资料的时候,碰到一些问题,这里顺便吐槽一下,分辨一篇教程和博客是否是让人读的身心愉快,就看它内容里对一些专用名词是否自己定义了名字,并且还不加解释,我看过不少国人的写的技术书籍教程,很多都出现了脱离原标准的自定义名词,或者不常见的名词,而且没有任何解释,这类书就是在害人,浪费时间,以至于我在选择技术书籍的时候都会避开国人写的。这都是题外话,一时起兴,现在进入原创 2020-08-11 10:09:16 · 1150 阅读 · 0 评论