作者:Exculivor
日期:2015年6月25日
本次学习内容:
- 简单模块——Hello的编写
- 代码分析
- 简单Makefile的编写以及分析
- 模块的加载和卸载
简单模块——Hello的编写
按照惯例,我们仍然通过helloworld这个简单的小程序来进入驱动编写的世界。
首先来看代码:
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "hello module init\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "hello module exit\n");
}
module_init(hello_init);
module_exit(hello_exit);
代码分析
代码中包含的两个头文件:
#include <linux/init.h>
包含了模块初始化所需要的函数,
#include <linux/module.h>
则包含了动态的将模块加载到内核中去的一些函数。
接下来的的宏定义内容:
MODULE_LICENSE("Dual BSD/GPL");
则负责告诉内核,本模块采用的许可证是自由许可证;
“如果没有这样的许可证