
linux 内核驱动开发
文章平均质量分 74
yalizhi123
这个作者很懒,什么都没留下…
展开
-
struct inode 和 struct file
1、struct inode──字符设备驱动相关的重要结构介绍内核中用inode结构表示具体的文件,而用file结构表示打开的文件描述符。Linux2.6.27内核中,inode结构体具体定义如下:struct inode {struct hlist_node i_hash;struct list_head i_list;struct list_head i_sb_list;struct list_head i_dentry;unsigned long转载 2010-08-16 14:31:00 · 1219 阅读 · 0 评论 -
内核char设备的注册
<br />内核中所有已分配的字符设备编号都记录在一个名为 chrdevs 散列表里。该散列表中的每一个元素是一个 char_device_struct 结构,它的定义如下:<br /><br /> static struct char_device_struct {<br /> struct char_device_struct *next; // 指向散列冲突链表中的下一个元素的指针<br /> unsigned int major;原创 2010-08-14 09:59:00 · 176 阅读 · 0 评论 -
arm linux kernel 从入口到start_kernel 的代码分析
<br />摘自:http://www.chinaunix.net/jh/4/1021226.html<br /> <br />最近研究了一下arm linux的入口部分的代码, code不是太多,所以写了个笔记,详细的分析了每一条语句. <br /><br />大家看看, 交流一下. <br /><br /><br />下面使正文. 由于内容比较多,分几层楼发吧 <br /><br />______________________________________________________原创 2010-08-14 10:06:00 · 168 阅读 · 0 评论 -
求文件大小的方法
<br />在我们学习生活中经常会遇到问题和困难,就比如说我们在学习Linux时,比如怎样Linux获取文件大小的方法。前几天在工作中需要写一段代码,获取一些视频文件的大小,心想:这还不简单吗?直接用标准C的文件操作函数就OK了。于是写了下面的一段代码来实现:<br /> unsigned long get_file_size(const char *filename) <br /> { <br /> unsigned long size; <br /> FILE* fp = fo转载 2010-08-14 11:13:00 · 368 阅读 · 0 评论 -
内核驱动开发笔记
<br />2.6内核驱动i注册设备号要用:<br />(1)如果主设备号事先知道,要用:<br />int register_chrdev_region( dev_t first, unsigned int count, char *name );<br />(2)如果主设备号为0,则要用动态分配:<br />int alloc_chrdev_region( dev_t *dev, unsigned int firstminor,<br /> unsigned i转载 2010-08-14 11:23:00 · 185 阅读 · 0 评论 -
介绍struct bus_type非常好的
<br />总线<br />总线是处理器和一个或多个设备之间的通道,在设备模型中, 所有的设备都通过总线相连, 甚至是内部的虚拟"platform"总线。总线可以相互插入。设备模型展示了总线和它们所控制的设备之间的实际连接。<br />在 Linux 设备模型中, 总线由 bus_type 结构表示, 定义在 <linux/device.h> : <br />struct bus_type {<br /> const char * name;/*总线类型名称*/<br /> str转载 2010-08-23 16:26:00 · 1316 阅读 · 0 评论 -
嵌入式Linux之我行——S3C2440上看门狗(Watchdog)驱动开发实例讲解
嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。共享资源,欢迎转载:http://hbhuanggang.cublog.cn<br />一、开发环境主 机:VMWare--Fedora 9开发板:Mini2440--64MB Nand, Kernel:2.6.30.4编译器:arm-linux-gcc-4.3.2<br />二、相关概念<br />1、平台设备及平台设备驱动:<br /转载 2010-08-25 12:11:00 · 850 阅读 · 0 评论 -
总线
<br />总线<br />总线是处理器和一个或多个设备之间的通道,在设备模型中, 所有的设备都通过总线相连, 甚至是内部的虚拟"platform"总线。总线可以相互插入。设备模型展示了总线和它们所控制的设备之间的实际连接。<br />在 Linux 设备模型中, 总线由 bus_type 结构表示, 定义在 <linux/device.h> : <br />struct bus_type {<br /> const char * name;/*总线类型名称*/<br /> str转载 2010-08-25 12:10:00 · 272 阅读 · 0 评论 -
linux内核input子系统解析
Android、X windows、qt等众多应用对于linux系统中键盘、鼠标、触摸屏等输入设备的支持都通过、或越来越倾向于标准的input输入子系统。<br /> 因为input子系统已经完成了字符驱动的文件操作接口,所以编写驱动的核心工作是完成input系统留出的接口,工作量不大。但如果你想更灵活的应用它,就需要好好的分析下input子系统了。<br />一、input输入子系统框架<br /> 下图是input输入子系统框架,输入子系统由输入子系统核心转载 2010-08-27 16:10:00 · 285 阅读 · 0 评论