linux内核与驱动-驱动程序范例

范例中以一个经典的hello驱动程序为例

 

$vim hello.c创建源码文件

程序有几个重要的部分

a. 引用两个基本的头文件linux/init.hlinux/module.h;

b. MODULE_LICENSE("Dual BSD/GPL")

  此申明是告诉内核,该模块采用自由许可证,没此申明则内核在装载该模块时会产生抱怨,就好像内核在说,你(此模块)遵循GNU GPL规定,有问题的话后果自负;

c. module_init(func_init)insmod加载内核时,会调用func_init初始化函数

  module_exit(func_exit)rmmod卸载内核时,会调用func_exit退出函数

程序代码如下

///START/

#ifndef __KERNEL__

#  define __KERNEL__

#endif

#ifndef MODULE

#  define MODULE

#endif

 

#include <linux/init.h>

#include <linux/module.h>

#include <linux/sched.h>

#include <linux/kdev_t.h>

#include <linux/fs.h>

#include <linux/cdev.h>

 

//定义模块的版本

#define MODULEVERSION "1:1.0"

 

MODULE_LICENSE("Dual BSD/GPL");//申明此模块遵循GPL规定

MODULE_AUTHOR("jayson_jang");//

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值