驱动程序的hello world
程序及makefile
|
|
Makefile
obj-m := hello.o
all :
$(MAKE) -C /usr/src/kernels/2.6.32-642.13.1.el6.x86_64 M=$(PWD) modules
clean:
$(MAKE) -C /usr/src/kernels/2.6.32-642.13.1.el6.x86_64 M=$(PWD) clean
以上为Centos 64位系统环境;正常情况下也可设置为/lib/modules/$(shell uname -r)/build或/usr/src/kernels/$(shell uname -r)。
执行make编译,可以得到驱动hello.ko
加载和卸载驱动
加载模块: insmod hello.ko
查看模块: lsmod |grep hello
卸载模块: rmmod hello
使用dmesg可以看到内核输出了相应的打印:
Hello kernel, it’s 2017!
Bye, kernel!
说明:
代码说明:
Ubuntu12.10 内核源码外编译 linux模块–编译驱动模块的基本方法
驱动文件的makefile说明可参考:
linux驱动模块Makefile解