摘要:
开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点(包括ldd3中不少例子也是这样),实际上现在Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点。 内核中定义了struct class结构体,顾 阅读全文
摘要:
编译模块安装之后会在/sys/class/看到hello_char_class 以及目录内的chrdev,同时也会在/dev下看到udev为我们建立的节点chrdev. 阅读全文
摘要:
首先需要了解sys节点和linux驱动编程的知识,在linux内核<linux/>下有着对应的实现。本例实现创建sys节点,外围程序通过input子系统控制鼠标位置。 第一步编写驱动代码,创建sys节点: 你就会看到你input设备上报的坐标,打印信息如下: 阅读全文
摘要:
本文将直接了当的带你进入linux的模块编译。当然在介绍的过程当中,我也会添加一些必要的注释,以便初学者能够看懂。之所以要写这篇文章,主要是因为 从书本上学的话,可能要花更长的时间才能学会整个过程,因为看书的话是一个学习过程,而我这篇文章更像是一个培训。所以实践性和总结性更强。通过本文你将 会学到编 阅读全文
摘要:
.c源码: 1 #include <linux/module.h> /* 引入与模块相关的宏 */ 2 #include <linux/init.h> /* 引入module_init() module_exit()函数 */ 3 #include <linux/moduleparam.h> /* 阅读全文