
底层驱动
文章平均质量分 82
JeronZ
linux 内核驱动工作者...
展开
-
设备模型-kobject详解
/*整理于2012.11.29于广工大 */ 先说说sysfs sysfs文件系统是一个处于内存中的虚拟文件系统,它为我们提供了kobject对象层次结构的视图。帮助用户可以以一个简单文件系统的方式来观察系统中各种设备的拓扑结构。 借助属性对象,kobject可用导出文件的方式,将内核变量提供给用户读取或写入。原创 2012-11-29 19:48:10 · 1537 阅读 · 1 评论 -
list_head详解
/* 整理于2012.11.27 于广工大 */ 在linux内核中,有大量的数据结构需要用到双循环链表,例如进程、文件、模块、页面等。若采用双循环链表的传统实现方式,需要为这些数据结构维护各自的链表,并且为每个链表都要设计插入、删除等操作函数。由于用来维持链表的next和prev指针指向对应类型的对象,因此一种数据结构的链表操作函数不能用于操作其它数据结构的链表。所以,在Linux源代码原创 2012-11-28 13:42:49 · 2241 阅读 · 0 评论 -
详解container_of宏
/* 整理于2012.11.27 于广工大 */ container_of宏原型定义:见内核源代码的include/linux/kernel.h文件, #define container_of(ptr, type,member) ({ \ consttypeof( ((type *)0)->member ) *__mptr = (ptr);原创 2012-11-28 13:27:24 · 821 阅读 · 0 评论 -
驱动设备文件
要知道在Linux系统中,一切皆文件,一个底层设备的驱动程序固然也不例外,它以一种有异于普通文件的设备文件的身份幸存在于fs当中,设备文件与保存数据或读取存储数据的普通文件不同,它只提供可调用内核内部函数的信息:设备驱动程序类型(字符型/块型)、主设备号、次设备号。 应用程序为了使用设备,向内核申请控制设备,此时内核利用上述的3种信息中的设备驱动程序类型信息和主设备号,调用相应的设备驱动程序原创 2012-11-22 14:37:37 · 1144 阅读 · 0 评论