
以装载和卸载模块为例:
1、首先输入代码
#include <linux/init.h>
#include <linux/module.h>
2、然后输入下方的代码:
static int my_init(void)
{
return 0
}
static void my_exit(void)
3、然后在输入下方的代码:
{
return
}
module_init(my_init)
module_exit(my_exit)这样就完成了。
1、将驱动程序文件bcm5700src.rpm复制到一个临时目录中,并在此目录中运行以下命令;
2、运行以下命令切换到驱动目录中;
3、此目录中会生成一个名字为bcm5700.spec的文件,运行以下命令对驱动程序进行编译;
4、运行以下命令切换到RPM目录中;
5、运行以下命令安装驱动程序;
6、运行以下命令加载驱动模块;
7、运行kudzu命令,系统会自动搜索到硬件,进行配置即可。
准确来说,驱动是针对于硬件设备的,比如:
一个键盘,插到电脑上,那么电脑是如何使用键盘的呢,它们两者之间是如何相互交互的呢。这个过程是需要驱动程序来实现的。
键盘插入电脑,引发一个中断,然后中断程序会检查设备,并将一个驱动程序与这个键盘设备进行绑定,当你按下一个按键,会触发键盘内的电子信号的传输(理解为电位1和0吧),并最终转换为数字信号(即0和1表示的),然后Linux系统中的驱动程序接收到了这个信号,根据这个信号来判断触发了哪个按键(这个中间,其实有很多工作,不过可以这样概括的理解),最终反馈到屏幕上。
看到了吗,驱动,就是一个可以和硬件通信(能够正确理解硬件发出的信号)的程序。
看到这,我想你应该明白了,你也可以为一个鼠标写一个驱动(前提是你了解这个鼠标的通信协议,即电位转换情况),然后你可以把鼠标左键点击的效果,更改成正常情况下,鼠标右键点击的效果。是不是挺有意思的。
另外,因为现在系统的日益成熟,现在Linux系统工作者很少有机会再写硬件驱动程序了,因为这些驱动,大多数硬件产商都会给做好了(因为Linux驱动接口封装的很好)。在移植到其它平台的时候,可能只需要简单的修改一下Linux的驱动,就可以用了。
(ps:望采纳)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)