一、编写Hello world驱动创建hello文件夹,在文件夹中创建helloWorld.c文件,输入一下内容。 #include <linux/init.h> #include <linux/module.h> static int hello_init(void) { printk("hello world"); return 0; } static void hello_exit(void) { printk("goodbye world"); } module_init(hello_init); module_exit(hello_exit); MODULE_LICENSE("GPL"); 二、编写Makefile export ARCH=arm64 export CROSS_COMPILE=aarch64-linux-gnu- obj-m += helloWorld.o KDIR:=/home/forlinx/work/ls1028/OK1028-linux-fs/build/linux/linux/arm64/LS/output/ PWD:=$(shell pwd) all: make -C $(KDIR) M=$(PWD) modules 在引用目录时要使用自己的源码的路径,不可照搬。 编写完成后直接在hello文件夹内执行make即可,会生成helloworld.ko模块。 三、验证 将生成的helloworld.ko拷贝到开发板中,进行加载,并查看效果。 root@forlinx:~# rmmod helloworld.ko root@forlinx:~# insmod helloworld.ko root@forlinx:~# dmesg | grep hello [ 172.948012] hello world root@forlinx:~# dmesg | grep goodbye [ 174.251172] goodbye world
|