Linux 驱动开发-简单的驱动框架编写

编写一个简单的 linux 驱动代码栗子

1、源文件 xxx.c

#include <linux/kernel.h>
#include <linux/module.h>

// 模块入口函数
static int __init demo_init(void)
{
	printk("Hello world! module.\r\n");
	return 0;
}

// 模块出口函数
static void __exit demo_exit(void)
{
	
}

module_init(demo_init);
module_exit(demo_exit);
MODULE_LICENSE("GPL");

2、Makefile 文件

KERNELDIR := 编译过的内核路径
CURRENT_PATH := $(shell pwd)
obj-m := xxx.o

build: kernel_modules

kernel_modules:
	$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules
clean:
	$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean

3、编译成 xxx.ko 文件

make

4、加载模块 xxx.ko

insmod xxx.ko

5、卸载模块 xxx.ko

rmmod xxx.ko

posted @ 2022-08-30 10:18  想想就很离谱  阅读(58)  评论(0编辑  收藏  举报