![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux设备模型
taiyuanwuyin
这个作者很懒,什么都没留下…
展开
-
Linux设备模型(1)_基本概念
Linux设备模型(1)_基本概念作者:wowo 发布于:2014-2-27 17:01 分类:统一设备模型1. 前言在“Linux内核的整体架构”中,蜗蜗有提到,由于Linux支持世界上几乎所有的、不同功能的硬件设备(这是Linux的优点),导致Linux内核中有一半的代码是设备驱动,而且随着硬件的快速升级换代,设备驱动的代码量也在快速增长。个人意见,这种现象打破了“简洁就是美”转载 2016-12-13 14:35:11 · 254 阅读 · 0 评论 -
sys_config.fex
http://blog.csdn.net/blood_defences/article/details/28236415sysconfig配置系统,作为一个通用的软件平台,还希望通过它,可以适应用户不同的方案。通过给出一个对应的配置,用户的方案就可以自动运行,而不需要修改系统里面的代码,或者重新给出参数。 一、 sysconfig1.fex简述配置脚本的本意转载 2017-04-26 09:23:05 · 7929 阅读 · 1 评论 -
video_register_device()浅析
http://blog.csdn.net/leesagacious/article/details/49948163/** 注册一个video_device 如果注册失败,video_device中的release()函数不会被调用。 调用者负责释放所有的数据,通常是调用video_device_release()函数来释放 uvc_driv转载 2017-04-13 15:51:17 · 2151 阅读 · 0 评论 -
学习linux驱动经典书籍
Linux驱动学习的最大困惑在于书籍的缺乏,市面上最常见的书为《linux_device_driver 3rd Edition》,这是一本很经典的书,无奈Linux的东东还是过于庞大,这本侧重于实战的书籍也只能停留在基本的接口介绍上,更深入的东东只能靠我们自己摸索了。但万事总有一个开头,没有对Linux驱动整体框架的把握是很难做一个优秀的驱动开发者的。除了这本Jonathan Corbet,转载 2017-01-04 10:35:57 · 3108 阅读 · 0 评论 -
kobject和kset
1 Kobject1.1 简介Kobject 是Linux 2.6 引入的新的设备管理机制,在内核中由struct kobject数据结构 进行描述通过这个数据结构使所有设备在底层都具有统一的接口,kobject提供基本的对象管 理,是构成Linux2.6设备模型的核心结构,它与sysfs文件系统紧密关联,每个在内核中注 册的kobject对象都对应于sysfs文件系统中的一个转载 2017-01-03 16:24:55 · 290 阅读 · 0 评论 -
Spin lock 与mutex 的区别
POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套常用的API。线程同步(Thread Synchronization)是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间共 享的临界区(Critical Section)进行保护(另一种常用的同步机制是barrier)。Pthreads提供了多种锁机转载 2017-01-03 15:50:20 · 537 阅读 · 0 评论 -
Linux设备模型(8)_platform设备
Linux设备模型(8)_platform设备作者:wowo 发布于:2014-4-28 10:24 分类:统一设备模型1. 前言 在Linux设备模型的抽象中,存在着一类称作“Platform Device”的设备,内核是这样描述它们的(Documentation/driver-model/platform.txt):Platform devices are devi转载 2016-12-13 17:10:12 · 321 阅读 · 0 评论 -
Linux设备模型(7)_Class
Linux设备模型(7)_Class作者:wowo 发布于:2014-4-23 15:17 分类:统一设备模型1. 概述 在设备模型中,Bus、Device、Device driver等等,都比较好理解,因为它们对应了实实在在的东西,所有的逻辑都是围绕着这些实体展开的。而本文所要描述的Class就有些不同了,因为它是虚拟出来的,只是为了抽象设备的共性。举个例子,一些年龄相仿转载 2016-12-13 16:34:13 · 302 阅读 · 0 评论 -
Linux设备模型(6)_Bus
Linux设备模型(6)_Bus作者:wowo 发布于:2014-4-15 19:21 分类:统一设备模型1. 概述在Linux设备模型中,Bus(总线)是一类特殊的设备,它是连接处理器和其它设备之间的通道(channel)。为了方便设备模型的实现,内核规定,系统中的每个设备都要连接在一个Bus上,这个Bus可以是一个内部Bus、虚拟Bus或者Platform Bus。内核通过转载 2016-12-13 16:27:07 · 290 阅读 · 0 评论 -
Linux设备模型(5)_device和device driver
Linux设备模型(5)_device和device driver作者:wowo 发布于:2014-4-2 19:28 分类:统一设备模型1. 前言 device和device driver是Linux驱动开发的基本概念。Linux kernel的思路很简单:驱动开发,就是要开发指定的软件(driver)以驱动指定的设备,所以kernel就为设备和驱动它的driver定义了两个数据转载 2016-12-13 16:13:00 · 271 阅读 · 0 评论 -
Linux设备模型(4)_sysfs
Linux设备模型(4)_sysfs作者:wowo 发布于:2014-3-14 18:31 分类:统一设备模型1. 前言sysfs是一个基于RAM的文件系统,它和Kobject一起,可以将Kernel的数据结构导出到用户空间,以文件目录结构的形式,提供对这些数据结构(以及数据结构的属性)的访问支持。sysfs具备文件系统的所有属性,而本文主要侧重其设备模型的特性,因此不会涉及过转载 2016-12-13 15:56:42 · 277 阅读 · 0 评论 -
Linux设备模型(3)_Uevent
Linux设备模型(3)_Uevent作者:wowo 发布于:2014-3-10 20:39 分类:统一设备模型1. Uevent的功能Uevent是Kobject的一部分,用于在Kobject状态发生改变时,例如增加、移除等,通知用户空间程序。用户空间程序收到这样的事件后,会做相应的处理。该机制通常是用来支持热拔插设备的,例如U盘插入后,USB相关的驱动软件会动态创建用于表示转载 2016-12-13 15:29:10 · 251 阅读 · 0 评论 -
Linux设备模型(2)_Kobject
Linux设备模型(2)_Kobject作者:wowo 发布于:2014-3-7 0:25 分类:统一设备模型1. 前言Kobject是Linux设备模型的基础,也是设备模型中最难理解的一部分(可参考Documentation/kobject.txt的表述)。因此有必要先把它分析清楚。2. 基本概念由“Linux设备模型(1)_基本概念”可知,Linux设备模型的核心是使用转载 2016-12-13 15:07:01 · 277 阅读 · 0 评论 -
Linux中对文件描述符的操作(FD_ZERO、FD_SET、FD_CLR、FD_ISSET
在Linux中,内核利用文件描述符(File Descriptor)即文件句柄,来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。宏FD_ZERO、FD_SET、FD_CLR、FD_ISSET中“FD”即为file descriptor的缩写,下面来一一进行介绍。 首先介绍一个重要的结构体:fd转载 2017-04-26 17:53:09 · 603 阅读 · 0 评论