本文出自:http://blog.csdn.net/hongchangfirst
驱动程序可以按照两种方式编译。一种是编译进kernel,另一种是编译成模块(modules),如果编译进内核的话,会增加内核的大小,还要改动内核的源文件,而且不能动态的卸载,不利于调试,所以推荐使用模块方式。
当驱动程序写完时,也就说有了a.ko文件,我们就可以使用我们自己写的驱动程序了。按照如下步骤:
-
sudo insmod a.ko(装载我们自己写的模块)
-
lsmod(查看一下驱动程序是否已装载,在上边)
-
sudo mknod my_device c 255 0(255 是主设备号,记得要与你写的驱动程序中申请的主设备号一致,0是次设备号,c指的是字符设备)
-
ls -l /dev/(查看一下驱动设备中有没有my_device)
-
接下来运行应用程序,如sudo ./job (记住一定要用超级用户,因为否则打不开设备文件my_device)
-
如果驱动程序用完之后,还是及时的卸载为好(sudo rmmod a)