E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Linux设备驱动模型
Linux设备驱动模型
Linux设备驱动模型
原文:http://blog.163.com/pycoming@126/blog/static/1171132092010423104623994/(一)节能之初衷2.6内核增加了一个引人注目的新特性
luobin1984
·
2012-09-26 17:00
linux
struct
list
Module
Class
structure
【加入自己的部分内容】
Linux设备驱动模型
学习之基础篇--Kobject.txt翻译
参考的原文地址:http://blog.csdn.net/king_208/article/details/5273689 ------------------------------------------------------------------------------------------本帖翻译了Linux2.6.29的Kobject.txt文档,由于英文水平不好,所以很多地方都翻
duanlove
·
2012-09-13 15:00
数据结构
linux
struct
object
filter
locking
基于mdev(udev)的驱动架构与
linux设备驱动模型
之class
分析过mdev(udev的BusyBox简化版)源码的都知道mdev的基本原理: a、执行mdev-s命令时,mdev扫描/sys/block(块设备保存在/sys/block目录下,内核2.6.25版本以后,块设备也保存在/sys/class/block目录下。mdev扫描/sys/block是为了实现向后兼容)和/sys/class两个目录下的dev属性文件,从该dev属性文件中获取
myxmu
·
2012-09-07 14:00
数据结构
linux
struct
Module
Class
interface
Linux设备驱动模型
学习之基础中的基础篇
说明:转载于http://blog.csdn.net/king_208/article/details/5271166 该帖中所包含的都是在阅读内核代码时需要了解的一些基本概念,后续还会不断增加的,欢迎大家批评指正,谢谢。1、typeoftypeof并非ISOC的关键字,而是gcc对C的一个扩展。typeof是一个关键字(类似sizeof),用于获取一个表达式的类型。举个简单的例子:c
laurawan
·
2012-09-05 10:00
[置顶]
linux设备驱动模型
大剖析(2)-----受苦后难的孩纸们啊。
特别声明本系列文章bingqingsuimeng著作权所有,转载请注明出处 http://blog.csdn.net/bingqingsuimeng/ linux设备驱动交流:qq群:257970754 人生在世就是一种受苦受难的修行过程是吗?什么?你说不是?好吧,你是富二代。。 有人说中国人这一辈子,年轻的时候在奋斗,到老了积累了一身病才知道享受,哎,谁知道富二代的上一
bingqingsuimeng
·
2012-08-30 16:00
linux
生活
八卦
[置顶]
linux设备驱动模型
大剖析(1)-----底层阶级的程序猿
特别声明本系列文章bingqingsuimeng著作权所有,转载请注明出处 http://blog.csdn.net/bingqingsuimeng/ linux设备驱动交流:qq群:257970754 话说,东汉末年分三国,分不清对对错错。反正是我们看到了三足鼎立的大好场面。当年的手机行业又何尝不是呢?苹果作为“魏国”实力非比寻常啊,而江南英杰谷歌andorid“吴国”也雄踞
bingqingsuimeng
·
2012-08-29 11:00
linux
手机
微软
linux内核
[置顶] linux设备驱动笔记一
所谓
linux设备驱动模型
,应该从linux2.6内核说起,2.4内核是没有这么一个概念的,我的理解是这样子的。我们接触过很多,各种linux
L_yangliu
·
2012-08-21 13:00
Linux设备驱动模型
中的热插拔机制及实验
本人CU博客中的文章,本来是希望CU给推荐到首页的,结果周五不知道CU博客出了啥问题,居然没什么更新。所以我干脆把再把它放到这里,因为话题涉及设备驱动模块自动加载,本版已经有同学问过这方面的问题。热插拔(hotplug,打这个词的时候我常常想到热干面)不一定非要指类似U盘那样的插入拔出,此处的热插拔广义上讲,是指一个设备加入系统,内核如何通知用户空间。举个简单的例子,如果你的电脑中有块PCI网卡,
wsql
·
2012-08-14 13:00
linux
[快速上手Linux设备驱动]之一切皆是文件思想
不错,今天walfred将在快速上手linux设备驱动这一块,谈谈linux的设备也符合“一切皆是文件”的思想在
linux设备驱动模型
应用。如果你不理解Linux设备模型,请看下面:1.
liwendovo
·
2012-07-24 17:02
linux内核
linux设备驱动模型
最早在去年的时候学习MMC/SD/SDIO的时候就接触过设备驱动模型,但是当时也整天看书也是迷迷糊糊的,所以最终也没有将这部分知识很好的整理一下。现在再次接触到这部分知识。也算是完成一直以来的一个想法。把这部分知识简单的整理一下备忘。设备驱动模型最初是为了解决设备的电源管理而产生的,但是最后发展起来之后,作用就越来越大了,特别适合设备管理。对于linux设备驱动工程师来说,掌握设备驱动模型非常重要
codectq
·
2012-06-05 17:00
linux
struct
list
null
Class
Descriptor
linux设备驱动模型
一字符设备open系统调用流程
从前面的例子可以看到,我们在操作一个调和时都是通过open系统调用先去打开这个设备,不管是设备还是文件,我们要访问它都要称通过open函数来先打开,这样才能调用其它的函数如read、write来操作它,即通知内核新建一个代表该文件的结构,并且返回该文件的描述符(一个整数),该描述符在进程内唯一。在linux系统进程中,分为内核空间和用户空间,当一个任务(进程)执行系统调用而陷入内核代码中执行时,我
new_abc
·
2012-05-27 23:34
Linux
linux设备驱动模型
linux设备驱动模型
一字符设备open系统调用流程
从前面的例子可以看到,我们在操作一个调和时都是通过open系统调用先去打开这个设备,不管是设备还是文件,我们要访问它都要称通过open函数来先打开,这样才能调用其它的函数如read、write来操作它,即通知内核新建一个代表该文件的结构,并且返回该文件的描述符(一个整数),该描述符在进程内唯一。在linux系统进程中,分为内核空间和用户空间,当一个任务(进程)执行系统调用而陷入内核代码中执行时,我
new_abc
·
2012-05-27 23:00
linux
struct
File
null
Path
Descriptor
linux设备驱动模型
一字符设备 驱动简析
字符设备不需要复杂的缓冲策略,也不涉及磁盘高速缓存,处理起来比较容易字符设备驱动程序由一个cdev结构描述:structcdev{ structkobjectkobj;//每个cdev都是一个kobject structmodule*owner;//指向实现驱动的模块 conststructfile_operations*ops;//操纵这个字符设备文件的方法 structlist_headlis
new_abc
·
2012-05-26 12:00
数据结构
linux
struct
list
Module
null
linux设备驱动模型
一字符设备 驱动实例
前面分析了驱动中的一些基本结构,下面结合实例分析一下驱动的编写及实现下面这个例子来处网上:#include//模块所需的大量符号和函数定义 #include//指定初始化和清楚函数 #include//文件系统相关的函数和头文件 #include//cdev结构的头文件 #include//在内核和用户空间中移动数据的函数 #include//kfree、kmalloc分配头文件 MODULE_L
new_abc
·
2012-05-25 22:00
linux设备驱动模型
一上层容器之class
class,是设备类,完全是抽象出来的概念,没有对应的实体。所谓设备类,是指提供的用户接口相似的一类设备的集合,常见的设备类的有block、tty、input、usb等等。 类是一个设备的高层视图,它抽象出了底层的实现细节,从而允许用户空间使用设备所提供的功能,而不用关心设备是如何连接和工作的。类成员通常由上层代码所控制,而无需驱动的明确支持。但有些情况下驱动也需要直接处理类。在驱动开发中,多使用
new_abc
·
2012-05-23 23:00
linux设备驱动模型
一上层容器之driver
备驱动程序使计算机系统可以与设备进行通信的一个软件组。在大多数情况下,驱动程序也会对硬件进行操作以便将数据传送给设备。有些设备,尤其是PC兼容机上的一些视频示配器,在系统中没有安装正确的设备驱动程序时,这些设备将无法正常工作.首先还是看一下其结构:structdevice_driver{ constchar*name;//名字 structbus_type*bus;//其所在的bus struc
new_abc
·
2012-05-22 22:00
linux设备驱动模型
之driver(驱动)原理与实例分析
1、驱动描述 驱动程序由structdevice_driver描述:structdevice_driver{constchar*name;/*驱动程序的名字(体现在sysfs中)*/structbus_type*bus;/*驱动程序所在的总线*/structmodule*owner;constchar*mod_name;int(*probe)(structdevice*dev);int(
yinjiabin
·
2012-05-20 19:00
linux
struct
Module
File
null
linux设备驱动模型
之 device(设备)原理与实例分析
1、设备描述 Linux系统中的每个设备由一个structdevice描述:structdevice{....................................structkobjectkobj;charbus_id[BUS_ID_SIZE];/*在总线上唯一标识该设备的字符串*/structbus_type/*设备所在总线*/*bus;structdevice_driv
yinjiabin
·
2012-05-20 18:00
linux设备驱动模型
之 bus(总线)原理与实例分析
1、 设备模型 随着技术的不断进步,系统的拓扑结构也越来越复杂,对智能电源管理、热插拔的支持要求也越来越高,2.4内核已经难以满足这些需求。为适应这种形势的需要,Linux2.6内核提供了全新的内核设备模型。2、 设备模型元素 总线 驱动 设备3、总线 总线是处理器和设备之间的通道,在设备模型中,所有的设备都通过总线相连,甚至是内部的虚拟“
yinjiabin
·
2012-05-20 10:00
linux
struct
Module
File
null
buffer
linux设备驱动模型
之 kset原理与实例分析
1、Kset kset是具有相同类型的kobject的集合,在sysfs中体现成一个目录,在内核中用kset数据结构表示,定义为:structkset{structlist_headlist;//连接该kset中所有kobject的链表头spinlock_tlist_lock;structkobjectkobj;//内嵌的kobjectstructkset_uevent_ops*uev
yinjiabin
·
2012-05-19 22:00
数据结构
linux
struct
list
filter
Module
linux设备驱动模型
一上层容器之device
系统中任一设备都有一个device对象描述,我们先来看一下它在内核中的表示:structdevice{ structdevice*parent;//父设备 structdevice_private*p;//设备的私有数据 structkobjectkobj;//表示该设备并把它链接到设备模型中的kobject constchar*init_name;//初始化名字 structdevice_t
new_abc
·
2012-05-19 09:00
linux
struct
list
null
Class
Parameters
linux设备驱动模型
一上层容器之bus
总线是处理器与设备之间通道,在设备模型中,所有的设备都通过总线相连我们看一下一般我们的系统中都注册了哪些总线:总线由bus_type结构表示,定义在structbus_type{ constchar*name;;/*总线类型名称*/ structbus_attribute*bus_attrs;/*总线属性*/ structdevice_attribute*dev_attrs;/*该总线上所有设备的
new_abc
·
2012-05-17 22:00
linux设备驱动模型
一上层容器之关系
linux的上层容器主要有bus,device,driver,这三者是个什么关系呢:bus:总线作为主机和外设的连接通道,有些总线是比较规范的,形成了很多协议。如PCI,USB,1394,IIC等。任何设备都可以选择合适的总线连接到主机。当然主机也可能就是CPU本身。内存也是通过BUS连接到主机的,可内存使用的总线不是外设总线,因此和内存使用相同类型的总线的设备,谈及BUS比较含糊。一块网卡在嵌入
new_abc
·
2012-05-17 21:00
linux设备驱动模型
一上层容器之bus概述
声明:以下内容均是从网上摘录过来这里先摘取下百科的介绍:总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束,按照计算机所传输的信息种类,计算机的总线可以划分为数据总线、地址总线和控制总线,分别用来传输数据、数据地址和控制信号。总线是一种内部结构,它是cpu、内存、输入、输出设备传递信息的公用通道,主机的各个部件通过总线相连接,外部设备通过相应的接口电路再与总线相
new_abc
·
2012-05-16 22:00
linux设备驱动模型
一三基础结构之示例
前面我们了解了设备驱动模型的三个基本结构,以及它们的相关操作函数,这里我们以实例来看一下它们的用法。首先定义一个内嵌的kobject结构:structtest_container{ intmember; structkobjectkobj; }; 定义了一个kobject和一个member成员,主要就是嵌套了kobject结构。structtest_container*con1,*con2,*co
new_abc
·
2012-05-14 10:00
linux
struct
null
buffer
linux内核
linux设备驱动模型
一三基础结构之Ktype
不同的结构包含kobject后,kobject的属性会不同,kobject销毁时所做的操作会不同,kobject所表现出的类型也会不同。所以,kobject中包含了一个叫作kobj_type的结构。kobj_type的目标就是为不同类型的kobject提供不同的属性以及销毁方法。kobj_type与kobject的关系比较简单,是一种明显的依存关系,正如价值因为人的存在而产生意义并发挥作用一样,k
new_abc
·
2012-05-13 17:00
linux
struct
File
Class
buffer
linux设备驱动模型
一三基础结构之Kset
有时候,某个设备的可能具有多个kobject的子类对象,或者某些设备具有相同的特性,为了便于管理,应该把这些对象统一放入一个容器中。这里要用到的容器就是kset。kset只是kobject的一个集合。对应到linux文件系统中,一个kset就是/sys下的一个文件夹。Kset本身也是一个kobject,所以它在sysfs里同样表现为一个目录,但它和kobject的不同之处在于kset可以看作是一个
new_abc
·
2012-05-12 13:00
linux设备驱动模型
一三基础结构之Kobject
在linux的驱动表示中,主要有三个基本的结构,分别是kobject,kset,ktype.Kobject,kset,kypte这三个结构是设备模型中的下层架构。模型中的每一个元素都对应一个kobject.kset和ktype可以看成是kobject在层次结构与属性结构方面的扩充。将三者之间的关系用图的方示描述如下:如上图所示:我们知道。在sysfs中每一个目录都对应一个kobject.这些kob
new_abc
·
2012-05-11 23:00
数据结构
linux
struct
null
linux内核
linux设备驱动模型
一概述
注:这几篇博客有些是从别的地方转载了部分过来稍加整理的,如有冒犯望见谅!Linux2.6内核最初为了应付电源管理的需要,提出了一个设备模型来管理所有的设备。在物理上,外设之间是有一种层次关系的,比如把一个U盘插到笔记本上,实际上这个U盘是接在一个USBHub上,USBHub又是接在USB2.0HostController(EHCI)上,最终EHCI又是一个挂在PCIBus上的设备。这里的一个层次关
new_abc
·
2012-05-10 23:00
Linux设备驱动模型
中的热插拔机制及实验
Linux设备驱动模型
中的热插拔机制及实验http://bbs.chinaunix.net/thread-3678367-1-1.html
computerms
·
2012-05-08 11:00
linux
基于mdev(udev)的驱动架构与
linux设备驱动模型
之class
来自:http://hi.baidu.com/ss0ss70/blog/item/b62aaeef4376a6dd2f2e21a1.html分析过mdev(udev的BusyBox简化版)源码的都知道mdev的基本原理:a、执行mdev-s命令时,mdev扫描/sys/block(块设备保存在/sys/block目录下,内核2.6.25版本以后,块设备也保存在/sys/class/block目录下
yongan1006
·
2012-03-26 10:00
Linux驱动程序开发 - 设备驱动模型初探(一)
Linux设备驱动模型
是一个相当复杂的系统,对于初学者来说真有些无从入手。而且更加困难的是,随着新的LinuxKernel的release,Linux的设备驱动模型总会有或大或小的变化,我们将尽
yhguo2008
·
2012-03-03 16:00
linux
struct
Module
Class
程序开发
linux内核
Linux设备驱动模型
sysfs
2.6内核增加了一个引人注目的新特性——统一设备模型(devicemodel)。设备模型提供了一个独立的机制专门来表示设备,并描述其在系统中的拓扑结构,从而使得系统具有以下优点:l 代码重复最小化。l 提供诸如引用计数这样的统一机制。l 可以列举系统中所有的设备,观察它们的状态,并且查看它们连接的总线。l 可以将系统中的全部设备结构以树的形式完整、有
·
2012-02-16 09:00
linux
struct
list
Module
Class
structure
Linux驱动模型
****************************************************************************************************
Linux
uyiwfn
·
2012-01-03 09:00
linux
list
struct
Module
Class
structure
linux驱动:设备驱动模型综述
很多事情是不能一步到位的,暂时这样吧,回头再搞,就此总结一下我对于
linux设备驱动模型
的一些理解 linux内核的设备驱动模型在网上有诸多文章介绍,但是多数是互相摘抄修改的,我也不例外的引用其中的一些说法
uyiwfn
·
2012-01-03 09:00
linux
list
object
null
buffer
linux内核
Linux驱动程序开发 - 设备驱动模型初探
Linux设备驱动模型
是一个相当复杂的系统,对于初学者来说真有些无从入手。
gangyanliang
·
2011-10-17 11:00
linux
linux
struct
Module
Class
程序开发
linux内核
Linux驱动程序开发 - 设备驱动模型初探
序言Linux内核的开发者们想到的是这样一个机制,就是说为了让设备驱动的开发者只专注于不同硬件的工作方式,而所有的共性的东西,都提供现成的代码,这部分代码就是
Linux设备驱动模型
。
gengyichao
·
2011-07-28 16:31
【转】Linux驱动修炼之道-按键
有中断,阻塞,等待队列,
linux设备驱动模型
等。使用中断处理的步骤是:向内核注册中断实现中断处理函数。
wzz_momo
·
2011-06-30 11:00
linux驱动模型浅析
linux设备驱动模型
在讲解设备驱动模型前,先介绍几个基本概念:总线类型:bus_type在linux中,所有的设备都是挂载在总线上的,比如pci,scsi,usb总线等。
kai_gong
·
2011-05-29 20:00
Linux设备驱动模型
之platform总线
1平台设备和驱动初识platform是一个虚拟的地址总线,相比pci,usb,它主要用于描述SOC上的片上资源,比如s3c2410上集成的控制器(lcd,watchdog,rtc等),platform所描述的资源有一个共同点,就是在cpu的总线上直接取址。平台设备会分到一个名称(用在驱动绑定中)以及一系列诸如地址和中断请求号(IRQ)之类的资源.structplatform_device{ c
huguohu2006
·
2011-05-05 15:00
linux
struct
object
insert
平台
resources
Linux驱动修炼之道-按键
有中断,阻塞,等待队列,
linux设备驱动模型
等。使用中断处理的步骤是:向内核注册中断实现中断处理函数。安装中断的函数是:intrequest_irq(unsignedinti
helloyesyes
·
2011-04-02 22:00
数据结构
linux
软件测试
Blog
UP
Linux驱动修炼之道-按键
有中断,阻塞,等待队列,
linux设备驱动模型
等。使用中断处理的步骤是:向内核注册中断实现中断处理函数。安装中断的函数是:intrequest_irq(unsignedinti
helloyesyes
·
2011-04-02 22:00
数据结构
linux
软件测试
Blog
UP
网络子系统-2.6.26
Linux设备驱动模型
,每一个驱动硬件都是以一个数据结构表示,网卡就是以structnet_de
guolele2010
·
2011-03-09 18:00
linux serial构架分析及驱动开发(3)
platform可以看作一伪总线,用于将集成于片上系统的轻量级设备与
Linux设备驱动模型
联系到一起,它包含以下两部分(有关platform的声明都在#include,具体实现在drivers/base
sirzjp
·
2011-01-26 13:00
linux
struct
buffer
character
resources
hook
设备驱动模型初探
Linux设备驱动模型
是一个相当复杂的系统,对于初学者来说真有些无从入手。
cainiao413
·
2010-12-20 17:00
Linux驱动设备驱动模型
Linux设备驱动模型
是一个相当复杂的系统,对于初学者来说真有些无从入手。
zhenwenxian
·
2010-12-17 01:00
linux
android
struct
Module
Class
linux内核
Linux驱动程序开发 - 设备驱动模型初探
Linux设备驱动模型
是一个相当复杂的系统,对于初学者来说真有些无从入手。
sfrysh
·
2010-09-15 11:00
linux
struct
Module
Class
程序开发
linux内核
Linux驱动程序开发 - 设备驱动模型初探
Linux设备驱动模型
是一个相当复杂的系统,对于初学者来说真有些无从入手。
sfrysh
·
2010-08-21 10:00
Linux驱动程序开发 - 设备驱动模型初探
Linux设备驱动模型
是一个相当复杂的系统,对于初学者来说真有些无从入手。
leibniz_zsu
·
2009-12-15 16:00
linux
android
struct
Class
程序开发
linux内核
Linux设备驱动模型
摘抄(2)
我们通过
Linux设备驱动模型
摘抄(1)已经知道了Linux设备驱动的基本架构,但是这种介绍是比较抽象的,至少到目前为止,我们仍然不清楚structdevice,structdevice_driver,
yyzsyx
·
2009-08-15 17:00
linux
struct
Module
table
null
Class
上一页
1
2
3
4
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他