內核模塊源代碼sample.c
#include <linux/module.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/moduleparam.h>
MODULE_LICENSE("Dual BSD/GPL");
MODULE_DESCRIPTION("sample module");
MODULE_AUTHOR("WATER");
MODULE_ALIAS("alias sample module");
MODULE_VERSION("0.1");
int count=1;
char *name="hello world";
static int __init init_function()
{
int temp=count;
for(;temp>0;temp--)
printk(KERN_ALERT"%s\n",name);
return 1;
}
static void __exit exit_function()
{
name = "module exit\n";
printk(KERN_ALERT"%s\n",name);
}
module_param(count,int,S_IRUGO);
module_param(name,charp,S_IWUGO);
module_init(init_function);
module_exit(exit_function);
Makefile內容:
ifneq ($(KERNELRELEASE),)
obj-m:=sample.o
else
KDIR=/lib/modules/$(shell uname -r)/build
default:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -rf *.o *.ko *.mod.c *.mod.o *.markers *.symvers
endif
測試:
make 編譯模塊
insmod sample.ko count=2 name=“jiaduo”加載模塊
rmmod sample
dmesg 查看內核信息。
linux驅動模塊的簡單應用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Linux核心技能与应用
wy53780
2020-04-23 14:02:05
Python與家國天下
豌豆花下貓
2019-02-24 22:22:40
linux上安裝Docker(非常簡單的安裝方法)
幸運券發放
2019-02-24 19:38:01
2019年Java面試-併發容器篇
王知無
2019-02-24 15:12:46
淺淡個人學習嵌入式Linux過程
wx5c317e5b736d2
2019-02-24 13:31:30
DHCP服務原理與搭建(Linux系統+路由器,二選一方案)
wx5c7174443c6f9
2019-02-24 13:23:18
Redis安裝與配置
劉遄
2019-02-24 13:12:51
Linux查看CPU和內存使用情況
wbzjacky
2019-02-24 13:12:37
相關Linux安全方面的知識點
slqbj
2019-02-24 13:02:39
忘記了Linux密碼,使用GRUB重新設置
slqbj
2019-02-24 13:02:39
Oracle11g 基於linux 6.3下安裝
love壁虎
2019-02-24 12:55:06
Oracle基於Linux 7下的安裝
love壁虎
2019-02-24 12:55:05
CentOS7更換yum源
駙馬葉子
2019-02-23 20:02:48