
Linux设备驱动学习之旅
记录学习Linux设备驱动的学习过程,以方便供自己和大家参考
drinkingcode
分享好玩科技,探索未知世界
展开
-
Linux设备驱动之七----总线设备驱动模型
前言:在Linux 2.6的设备驱动模型中,关心总线,设备和驱动这3个实体,总线将设备和驱动绑定。在系统没注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线自动完成;目的:本示例的目的是通过总线设备驱动模型来实现一盏LED的亮灭代码示例如下:led_dev.c#include #includ原创 2015-11-06 11:21:08 · 935 阅读 · 0 评论 -
Linux设备驱动之六----异步通知的驱动程序
驱动程序如下:#include #include #include #include #include #include #include #include #include #include #include #include static struct class *fifthdrv_class;static struct class_device *fifth原创 2015-11-04 10:14:56 · 792 阅读 · 0 评论 -
Linux设备驱动之五----带poll机制的驱动程序
驱动程序的代码如下:#include #include #include #include #include #include #include #include #include #include #include #include static struct class *forthdrv_class;static struct class_device *f原创 2015-11-03 18:22:07 · 656 阅读 · 0 评论 -
Linux设备驱动之四----带中断的驱动程序
前言:本示例的目的是读取按键按下或松开时的按键值驱动程序如下:#include #include #include #include #include #include #include #include #include #include #include static struct class *thirddrv_class;static str原创 2015-11-03 12:48:36 · 1645 阅读 · 0 评论 -
Linux设备驱动程序之三 ---- LED驱动程序的实现
LED驱动程序:#include #include #include #include #include #include #include int major;dev_t dev_num;static struct class *led_drv_class;static struct device *led_drv_dev;原创 2015-10-10 10:54:01 · 478 阅读 · 0 评论 -
Linux设备驱动程序之二 ---- 完善上一节的驱动程序
我们知道,在上一节驱动中,我们的主设备号是手动指定为111的,还有就是设备节点是手动mknod的。这在某种程度上,不利于我们驱动的移植性。接下来,我们对其进行进一步优化。I.首先是让其实现自动分配设备号,其驱动程序如下:#include #include #include #include int major;static int led_drv_open(原创 2015-10-10 10:53:59 · 508 阅读 · 0 评论 -
Linux设备驱动之一 ---- 驱动的框架及其操作流程
I.驱动程序的编写#include #include #include #include static int led_drv_open(struct inode *inode, struct file *file){printk("this is a led_drv_open\n");return 0;}static ssize_t原创 2015-10-10 10:53:51 · 723 阅读 · 0 评论 -
Linux设备驱动前的工作准备 ---- 内核的配置及Makefile编写
我们知道,在我们编写驱动时,需要用到一些函数接口,这些接口是在内核源码的头文件中定义的。我们若需要用到这些函数,就需要先对其内核源码进行编译。下面给大家讲解如何制作及编写其Makefile。I> 内核的配置 1.我们若想要我们编译的模块能在我们的开发板上运行,这就需要先在开发板上用 uname -r 命令查看我们开发板所使用的内核。比如我的开发板使用的是2.6.30.4的内核原创 2015-10-10 10:53:54 · 608 阅读 · 0 评论