将字符设备驱动代码添加到内核源码树

一、因为我们编写的是一个字符设备驱动,所以将其放在./driver/char字符设备驱动目录

cp -rfa ../../kernel/helloDev/helloDev.c ./

二、修改./char目录下的Kconfig文件

将字符设备驱动代码添加到内核源码树

tristate标签: 表示在执行make menuconfig的时候,可以选择 Y、N、M 三态编译,配置为bool标签时只能选择 Y、N
default标签: 表示默认选择时Y
help标签: 表示帮助信息

最终名称为: CONFIG_HELLO

三、修改./driver/char 目录下的Makefile文件

增加编译项(注意名称为CONFIG_HELLO,来源于上一步配置的Kconfig文件)
将字符设备驱动代码添加到内核源码树

四、回到内核文件根目录下

cd /home/yu/kernelwork/linux-4.9.229

五、静态加载 (编译到内核中)

1、执行 make menuconfig

make menuconfig

2、在> Device Drivers > Character devices 层级目录下,可以看到我们添加的选项,选择<*>,即静态加载,会随着系统的启动而加载

将字符设备驱动代码添加到内核源码树

3、重新编译内核
export ARCH=x86
make x86_64_defconfig
make
4、查看编译打印信息

将字符设备驱动代码添加到内核源码树

六、动态加载 (编译为驱动)

1、执行 make menuconfig

make menuconfig

2、在> Device Drivers > Character devices 层级目录下,可以看到我们添加的选项,选择<M>,即动态加载,需要自行手动insmod和rmmod

将字符设备驱动代码添加到内核源码树

3、重新编译内核

make

4、查看编译日志

可以看到编译成了 helloDev.ko 驱动文件
将字符设备驱动代码添加到内核源码树

将字符设备驱动代码添加到内核源码树

上一篇:三菱 FX2N PLC 输入输出接线图


下一篇:PS-头发丝抠图