【Linux内核驱动】驱动的静态加载和驱动的动态加载

makefile相关语法

obj-y += xxx.o xxx1.o #将xxx.o和xxx1.o链接为build-in.o
obj-m += xxx.o xxx1.o #将xxx.o和xxx1.o分别链接为xxx.ko和xxx1.ko

驱动静态加载

参考链接:
linux内核开发第8讲
(总结) vi Kconfig增加hello驱动配置选项–>make menucnofig设置hello配置类型–>vi Makefile指定helloDev.o文件

vi Kconfig(要在驱动代码目录执行该命令,例如在linux-4.9.229/drivers/char)
在这里插入图片描述
make menuconfig(要在内核代码根目录执行该命令,例如在linux-4.9.229)
在这里插入图片描述
在这里插入图片描述
vi Makefile(要在驱动代码目录执行该命令,例如在linux-4.9.229/drivers/char)
在这里插入图片描述
make(要在内核代码根目录执行该命令,例如在linux-4.9.229)
在这里插入图片描述

驱动动态加载

参考链接:hello world!带你编写一个最简单的linux下的字符设备驱动
(总结) 编写helloDev.c文件–>编写makefile文件–>make编译得到驱动helloDev.ko–>使用mknod创建设备文件/dev/hello(驱动程序helloDev.ko和设备文件/dev/hello之间通过主设备号232从设备号0来建立联系)–>insmod、rmmod、lsmod增删查管理驱动–>test.c调用设备/dev/hello来测试驱动程序

猜你喜欢

转载自blog.csdn.net/weixin_45005811/article/details/124941176