Linux模块的最简代码和makefile 0515

1. [代码]helloworld.c     

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <linux/module.h>//与module相关的信息
 
#include <linux/kernel.h>
#include <linux/init.h>      //与init相关的函数
 
static int __init hellokernel_init( void )
{
         printk(KERN_INFO "Hello kernel!\n" );
         return 0;
}
 
static void __exit hellokernel_exit( void )
{
         printk(KERN_INFO "Exit kernel!\n" );
}
 
 
module_init(hellokernel_init);
module_exit(hellokernel_exit);
 
 
MODULE_LICENSE( "GPL" );
MODULE_AUTHOR( "xxxx" );

2. [代码]Makefile     

?
1
2
3
4
5
6
7
8
9
obj-m := helloworld.o
 
PWD       := $(shell pwd)
 
all:
         make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
 
clean:
         rm -rf *.o *~ core .*.cmd *.mod.c ./tmp_version

3. [代码]执行与运行结果     

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
3)执行make
 
编译成功之后会生成相应有ko文件,也就是我们想要的驱动了
 
4)驱动程序的相关操作
 
       a)查看ko模块的信息 modinfo helloworld.ko
 
       b)插入模块 insmod helloworld.ko
 
       c)卸载模块 rmmod helloworld
 
       d)还有一个modprobe功能,以后介绍!
 
5)查看驱动的打印信息
 
       使用dmesg可以查看在驱动的相关打印信息!
 
        现在有例子是会有如下的打印内容:
 
---------------------log start----------------------------
 
[27520.195551] Exit kernel!
[27948.531569] Hello kernel!
 
---------------------log end----------------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值