详细资料请加QQ群索取
欢迎加入qq交流群:669495872
1.新建文本文档,重命名为 hello_dev.c (驱动的开发同应用的开发一样,也是在文本文档下开发的)。
2.包含头文件
内核模块需要包含内核相关头文件,不同模块根据功能的差异,所需要的头文件也不相同,但是<linux/module.h>和<linux/init.h>是必不可少的。
#include <linux/module.h> #include <linux/init.h>
|
3.模块初始化
模块的初始化负责注册模块本身。如果一个内核模块没有被注册,则其内部的各种方法(函数)无法被应用程序使用,只有已注册模块的各种方法才能够被应用程序使用并发挥各方法的实际功能。模块并不是内核内部的代码,而是独立于内核之外,通过初始化,能够让内核之外的代码来替内核完成本应该由内核完成的功能,模块初始化的功能相当于模块与内核之间衔接的桥梁,告知内核“我进来了”。
static int __init module_init_func(void) { 初始化代码 } module_init(module_init_func); |