
Linux设备驱动
EthanYYYY
大才非学不成
展开
-
Linux USB子系统驱动学习
USB子系统学习链接原创 2022-06-28 16:40:12 · 378 阅读 · 0 评论 -
【设备树使用】-- 2 寻址
3 地址如何工作可寻址的设备使用以下属性将地址信息编码到设备树中:reg #address-cells #size-cells每个可寻址设备获得一个 reg ,它是reg = <address1 length1 [address2 length2] [address3 length3] ... >形式的元组列表。 每个元组表示设备使用的地址范围。 每个地址值是一个或多个称...翻译 2018-07-12 21:49:46 · 1496 阅读 · 2 评论 -
【设备树使用】-- 3 中断
4 中断是如何工作的与遵循树的自然结构的地址范围转换不同,中断信号可以源自并终止于机器中的任何设备。与在设备树中自然表达的设备寻址不同,中断信号表示为独立于树的节点之间的链路。四个属性用于描述中断连接:interrupt-controller - 一个空属性,声明节点是接收中断信号的设备 #interrupt-cells - 这是中断控制器节点的属性。它说明了该中断控制器的中断说明符中有...翻译 2018-07-15 08:21:04 · 1692 阅读 · 0 评论 -
【设备树使用】-- 4 进阶
5 设备特定数据除了公共属性之外,还可以向节点添加任意属性和子节点。只要遵循一些规则,就可以添加操作系统所需的任何数据。首先,新的特定于设备的属性名称应使用制造商前缀,以便它们不会与现有的标准属性名称冲突。其次,必须在绑定中记录属性和子节点的含义,以便设备驱动程序作者知道如何解释数据。绑定文档描述特定兼容值的含义,它应具有的属性,可能具有的子节点以及它所代表的设备。每个唯一的 com...翻译 2018-07-15 15:37:34 · 1624 阅读 · 1 评论 -
Linux下查找目录下的所有文件是否包含某字符串
很多时候,需要在某个文件夹下查看所有的文件是否包含某个字符串,比如已知一个变量名,但是不知道定义在哪个文件里,就可以搜一下。(1)目录下的所有文件中查找字符串find . | xargs grep -ri "class" 其实,该命令行等价于grep -ri "class" .(2)目录下的所有文件中查找字符串,并且只打印出含有该字符串的文件名find . | xa...原创 2018-07-18 19:44:17 · 7324 阅读 · 1 评论 -
在Linux下编译内核模块的Makefile的简单写法
1 Makefile新建文件,命名为Makefile,将下面的代码拷贝到文件中#!/bin/bashobj-m += test-demo.o #CROSS_COMPILE ?= /opt/linaro/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- # Compiler path set...原创 2018-07-15 08:48:55 · 3398 阅读 · 4 评论 -
linux之DMA-BUF使用指南
目录1 DMA-BUF API使用指南1.1 数据结构1.2 外设的dma-buf操作函数1.3 内核处理器访问dma-buf缓冲区对象1.4 用户空间通过mmap直接访问缓冲区2 共享内存:mmap函数实现3 GstDmaBufAllocator1 DMA-BUF API使用指南by JHJ(jianghuijun211@gmail.com)转载出自:ht...原创 2018-11-15 11:13:24 · 13938 阅读 · 0 评论 -
v4l2的学习建议和流程解析
转自: https://www.cnblogs.com/silence-hust/p/4464291.html 一、Video for Linux two二、v4l2结构体介绍1、常用的结构体在内核目录include/linux/videodev2.h中定义2、常用的IOCTL接口命令也在include/linux/videodev2.h中定义三、调用v4l2的工作流程上各种找资料后,才发现其实...转载 2019-04-22 20:29:40 · 841 阅读 · 0 评论 -
【设备树使用】-- 1 基础概念
本页介绍了如何为新机器编写设备树。 它旨在提供设备树概念的概述以及它们如何用于描述机器。有关设备树数据格式的完整技术说明,请参阅ePAPR v1.1规范。 ePAPR规范涵盖了比本页面涵盖的基本主题更多的细节,请参阅此页面以获取本页面未涵盖的更高级用法。 ePAPR目前正在使用Devicetree规范文档的新名称进行更新。 1 基本数据格式设备树是节点和属性的简单树形结构。 属性是...翻译 2018-07-11 22:39:35 · 639 阅读 · 0 评论 -
linux内核编译时用make clean ,make mrproper 还是make distclean
在make的时候,会重新生成objects, 也就说新的object覆盖旧的objectsmake clean 删除大多数的编译生成文件, 但是会保留内核的配置文件.config, 还有足够的编译支持来建立扩展模块make mrproper 删除所有的编译生成文件, 还有内核配置文件, 再加上各种备份文件make distclean mrproper删除的文件, 加上编辑备份文件和一...转载 2018-02-24 15:29:24 · 2937 阅读 · 0 评论 -
【VMware】虚拟机中Ubuntu无法连接网络的有效解决办法
1、Ubuntu网络设置:依次单击【System Settings】-->【Network】-->【Wired】-->【Options…】,如下图所示:依次选择【General】,勾选如下图所示的单选框,最后点击【Save】,如下图所示:依次选择【IPv4 Settings】,在下面的Method中选择【Automatic(DHCP)】,最后点击【Save】,如下图原创 2018-03-01 09:33:17 · 106593 阅读 · 68 评论 -
linux设备驱动归纳总结(八):4.总线热插拔
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx上一节介绍设备管理中的分层思想和面向转载 2017-11-09 10:51:19 · 305 阅读 · 0 评论 -
linux设备驱动归纳总结(八):3.设备管理的分层与面向对象思想
linux设备驱动归纳总结(八):3.设备管理的分层与面向对象思想本文转自:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3631835&fromuid=28801784xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx转载 2017-11-09 10:49:47 · 307 阅读 · 0 评论 -
linux设备驱动归纳总结(八):2.match.probe.remove
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx上一节介绍了总线、设备和转载 2017-11-09 10:48:12 · 614 阅读 · 0 评论 -
linux设备驱动归纳总结(八):1.总线、设备和驱动
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这几天一直在看设转载 2017-11-09 10:44:16 · 335 阅读 · 0 评论 -
__devexit_p宏的功能
在驱动程序中,经常会在xxx_driver机构体中看看到__devexit_p(x),譬如:static struct spi_driver spidev_spi = { .driver = { .name = "spidev", //spi_bus_type上spi_despi_devie与spi_driver匹配依赖于此名字原创 2017-11-17 08:52:40 · 1487 阅读 · 0 评论 -
C语言:可变参数宏以及##和#符的使用
在阅读Linux内核代码时,经常会看到如下的宏定义,它们叫做可变参数宏,下面我们就来聊聊可变参数宏的用法。首先点一下带参宏定义的一般形式为:#define 宏名(形参表) 字符串带参数的宏调用一般形式为:宏名(实参表) 1. #的使用在C语言的宏中,#的功能就是将字符串中的宏参数进行字符串转化操作,简单说就是在将字符串中的宏变量原样输出并在其左右原创 2017-12-20 21:35:21 · 1360 阅读 · 0 评论 -
浅谈 Linux 内核开发之网络设备驱动
转载自 https://www.ibm.com/developerworks/cn/linux/l-cn-networkdriver/个人最近在学习网络设备驱动,本文从宏观上概括,略去了繁琐复杂的细节,易于初学者理解。这里Mark一下,和同样从事驱动开发的兄弟们进行分享。网络设备介绍网络设备是计算机体系结构中必不可少的一部分,处理器如果想与外界通信,通常都会选择网络设备作为通信接口。众所周知,在转载 2017-12-12 20:49:21 · 3324 阅读 · 2 评论 -
sk_buf, 再转载,太经典了 - 网络协议栈分析 - 草本植物
本文转自: http://www.360doc.com/content/09/0205/16/36491_2466152.shtml#sk_buff结构可能是linux网络代码中最重要的数据结构,它表示接收或发送数据包的包头信息。它在中定义,并包含很多成员变量供网络代码中的各子系统使用。这个结构在linux内核的发展过程中改动过很多次,或者是增加新的选项,或者是重新组织已存在的转载 2017-12-15 15:41:18 · 4199 阅读 · 0 评论 -
Linux 内核配置机制(make menuconfig、Kconfig、makefile)讲解
本文转自:http://blog.youkuaiyun.com/dianhuiren/article/details/6917132======================================================================================================= 前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式转载 2018-01-09 14:33:54 · 2497 阅读 · 0 评论 -
linux设备驱动归纳总结(九):1.platform总线的设备和驱动
linux设备驱动归纳总结(九):1.platform总线的设备和驱动本文转自:http://bbs.chinaunix.net/thread-3631839-1-1.htmlxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这一节可以理转载 2017-11-09 10:53:24 · 303 阅读 · 0 评论