Linux Driver
leumber
这个作者很懒,什么都没留下…
展开
-
Linux设备模型(一) 基本概念
之前是学习字符设备驱动,但是在期间涉及到了一些设备模型中的东西,如自动创建设备节点,在这之后将深入学习这部分,从而也能更加清楚设备节点是如何创建的。这部分的东西较多,先整体理清框架,然后逐个去理解,最后整合一下,就清晰懂得这些模糊的概念所表述的用意。 Linux设备模型的目的:为内核建立一个统一的设备模型,从而又一个对系统结构的一般性抽象描述。 换句话说,Linux设备模型提取了设备操作的共同...原创 2018-02-28 14:58:44 · 535 阅读 · 0 评论 -
Linux设备模型(二) kobject和kset
kobject的作用有: 1、对象的引用计数:来记录Kobject被引用的次数,并在引用次数变为0时把它释放 2、sysfs表示:在sysfs中的每个对象都有对应的kobject,每个kobject在/sys下也会以目录形式出现。 3、数据结构关联:通过链接将不同的层次数据关联,将所有Kobject以层次结构的形式组合起来。 4、热插拔事件处理:kobject子系统将产生的热插拔事件通知用户...原创 2018-02-28 15:00:27 · 504 阅读 · 0 评论 -
Linux设备模型(三) 总线、设备和设备驱动
前面是设备模型的底层基础,接下来的就是对这些底层的东西的使用,构建上层容器,就像之前说的kobject很少单独使用,都是被嵌入在其他的更上层的结构中使用。 总线bus 总线是处理器和一个或多个设备之间的通道,在设备模型中, 所有的设备都通过总线相连,总线可以相互插入。设备模型展示了总线和它们所控制的设备之间的实际连接。 在 Linux 设备模型中, 总线由 struct bus_...原创 2018-02-28 15:02:21 · 463 阅读 · 0 评论 -
Linux设备模型(四) uevent
热插拔事件:在linux系统中,当系统配置发生变化时,如添加kset到系统或移动kobject,一个通知会从内核空间发送到用户空间,这就是热插拔事件。 热插拔事件的产生通常是由在总线驱动程序层的逻辑所控制。 热插拔事件会导致用户空间中的处理程序(如udev,mdev)被调用,这些处理程序会通过加载驱动程序,创建设备节点等来响应热插拔事件。 比如,当U盘通过USB线缆插入到系统时。热插拔事件会...原创 2018-02-28 15:03:46 · 782 阅读 · 0 评论