然后将第三章编写的hello.c文件拷贝到hello文件夹内。如下(图8-2)所示:
输入“touch Kconfig”命令创建Kconfig文件,Kconfig文件内容如下所示:
然后“touch Makefile”命令创建Makefile文件,Makefile文件内容如下所示:
obj-$(CONFIG_HELLO)+=helloworld.o
接下来修改上一级目录的Kconfig文件和Makefile文件,也就是driver/char目录。Makefile添加如下图(图8-3)所示内容。
obj-y += hello/
Kconfig添加如下图(图8-4)所示内容:
source “drivers/char/hello/Kconfig”
最后打开menuconfig图形化配置工具,在配置界面选择helloworld驱动。把驱动编译进Linux内核,用 * 来表示,所以配置选项改为*。如果想要将驱动编译为模块,则用M来表示,配置选项改为M。这里我们选择成 *
然后将光标移动到save,保存配置,如下图(图8-6)所示:
保存到.config文件,如下(图8-7)所示:
退出配置界面,然后输入以下命令便可以编译源码了。
编译成功之后,进入到drivers/char/hello目录下,可以看到会生成对应的.o文件。就说明已经成功将驱动编译进内核。
将编译好的内核镜像烧写到开发板上后,在开发板系统启动的时候也可以成功看到加载helloworld驱动,如下图(图8-10)所示:
如果在图形化配置界面中选择的M,也就是编译成驱动模块,则生成helloworld.ko文件如下图(图8-11)所示:
更多内容:可以关注北京迅为公众号,B站搜索迅为RK3568开发板