泰山派-内核驱动开发(1)
内核驱动开发
通过本文你可以了解内核模块的驱动框架,和如何加载卸载驱动
驱动主要有三个部分
源代码
#include <linux/init.h>
#include <linux/module.h>
static int __init demo_init(void)
{
return 0;
}
static void __exit demo_exit(void)
{
}
//修饰模块化驱动的入口函数
module_init(demo_init);
//修饰模块化驱动的出口函数
module_exit(demo_exit);
//协议
MODULE_LICENSE("GPL");
--- Makefile文件
PWD ?= $(shell pwd)
KERNELDIR:=/home/chilo/sdk/kernel
obj-m += demo.o
module:
make -C $(KERNELDIR) M=$(PWD) ARCH=arm64 modules
@# -C 从当前目录切换到内核源码目录下,借助内核源码makrfile进行make
@# ARCH=arm64指定编译架构
@# M=$(PWD) 只编译当前目录下的驱动
clean:
make -C $(KERNELDIR) M=$(PWD) ARCH=arm64 clean
编译成功后会在根目录下找到demo.ko文件

挂载驱动:insmod <module name>
删除驱动:rmmod <module name>
查看挂载的驱动:lsmod

浙公网安备 33010602011771号