第16篇:Linux设备驱动程序入门<三>
Q:如何编写设备驱动模块?
A:简单的Linux内核模块程序Hello World:第1-2行是两个必须的头文件;第4-8行是模块加载函数;第10-13行是模块卸载函数;第15行表示加载模块时调用的函数是hello_init();第16行表示卸载模块时调用的函数是 hello_exit() ;第17行表示该模块代码遵循GPL规范;在第6和12行都使用了函数 printk() ,内核通过该函数来输出相关信息。
另外需要编写Makefile文件用于编译驱动模块,以下是Hello World模块程序的Makefile文件内容:第1行指定了被编译的内核模块的名称,编译后得到的是hello_world.ko文件,也指明了内核模块的代码在hello.c文件中。如果要编译其他模块,将hello_world.o中的hello_world改为模块的文件名即可 ;第3行的all是目标;第4行是生成目标all的命令,该语句会执行内核模块的编译;第6行的clean也是一个目标;第7行清除内核源码目录和当前目录下编译生成的各种中间文件和最终的二进制程序文件。