这是内核启动之后要调用的驱动模型的开始代码: 且看platform_bus_init 这里讲述 bus_register(&platform_bus_type): struct bus_type_private *priv指向struct bus_type,这里会显示/sys/bus/platfor ...
分类:
系统相关 时间:
2017-11-04 13:43:30
阅读次数:
296
linux内核驱动模型,以2.6.32内核为例。(一边写一边看的,有点乱。) 1、以内核对象为基础。用kobject表示,相当于其它对象的基类,是构建linux驱动模型的关键。具有相同类型的内核对象构成内核对象集,用kset表示,内核对象集也包含自己的内核对象,从而组成层次化的结构。2、用sysfs ...
分类:
系统相关 时间:
2016-05-17 17:22:14
阅读次数:
299
本文是嵌入式企鹅圈开篇--《linux字符设备驱动剖析》的姐妹篇,在上述文章里面我们详细描述了字符设备驱动框架涉及的驱动注册、通过设备文件来访问驱动等知识,并明确通过device_create接口并结合mdev来创建设备文件,但没有展开这个知识点。本文将从代码级去理解Linux设备类和设备文件的创建过程。通过这两篇文章,我们将可以对linux字符设备驱动的机制和脉络有全面的认识。...
分类:
系统相关 时间:
2015-07-06 12:22:10
阅读次数:
257
微信公众号:嵌入式企鹅圈重磅原创文章。这是一篇有关如何学习嵌入式Linux系统的方法论文章,也是从需求的角度去理解Linux系统软件的开篇,相信此系列文章日后会是学习嵌入式Linux的标杆!本文重点阐述从需求的角度去理解linux总线、设备和驱动的关系和分工。...
分类:
系统相关 时间:
2015-06-30 15:02:28
阅读次数:
257
Linux 驱动模型初探4——汇总和拾遗
1,直接上code
#include
#include
#include
#include
#include
#include
#include
#include
//#include "./kf_device.h"
#define KFMAJOR 96
//-----\\clas...
分类:
系统相关 时间:
2014-12-13 15:13:54
阅读次数:
231
Linux 驱动模型初探3——device
讲device之前,我要引入一个比喻,这个比喻来自一个学长(z2007b)。driver是帅哥,device是美女,bus是红娘,bus是提供device和driver配对的场所(方法?)。好吧,暂时先这样定,现在要讲的就是美女。
1,老规则,先看看struce device这个美女有哪些特性(成员)和方法
struct d...
分类:
系统相关 时间:
2014-12-12 19:14:02
阅读次数:
318
Linux 驱动模型初探2——device_driver
1,思考
device_driver也是一个kobject?,但你注意没有,在sys/目录下有bus/,有device/就是没有device_driver/,Y?为什么这么设计?
先看struct devic_driver;
struct device_driver {
co...
分类:
系统相关 时间:
2014-12-12 13:21:36
阅读次数:
315
Linux 驱动模型初探1——BUS
##写在前面的话##
这几篇文章是2011年,当时的老大对我提出的一个“作业”。当时研究了一把,完成了第一篇BUS,老大看过之后,表示满意,要我把后面继续完成。然,世事变迁,老大离开了公司,去了其它公司。之后,我也从S公司离开了。所做的工作也有小范围的调整。近期又回到驱动这块,再看到之前的笔记,感慨万千,我决计是要完成搁浅了...
分类:
系统相关 时间:
2014-12-11 20:56:25
阅读次数:
358
1、kobject
Linux内核用kobject来表示一个内核对象。它和Sysfs文件系统联系密切,在内核中注册到系统中的每个kobject对象在sysfs文件系统中对对应着一个文件目录。kobject数据结构通常的用法是嵌入到其对他的数据结构中(即容器,比如cdev结构),用于实现内核对该类数据结构对象的管理。这些数据结构(容器)通过kobject连接起来,形成了一个树状结构...
分类:
系统相关 时间:
2014-08-11 21:34:03
阅读次数:
344