目的
记录下编写Kconfig文件和ko文件的过程
操作步骤
1.按照标准格式编写驱动文件hello.c
#include<linux/init.h>
#include<linux/module.h>
static int sum = 100;
static int __init hello_init(void)
{
printk("hello world ,nihao\n");
printk("param sum = %d\n",sum);
return 0;
}
static void __exit hello_exit(void)
{
printk("hello world,baibai\n");
}
module_init(hello_init);
module_exit(hello_exit);
module_param(sum,int,S_IRUGO);
MODULE_LICENSE("GPL V2");
MODULE_AUTHOR("WANG LONGHUI");
MODULE_DESCRIPTION("A SIMPLE EXAMPLE KO");
MODULE_ALIAS("HAHA");
2.编写Kconfig文件
#
# TEST driver configuration
#
menu "Test Driver"
config TEST_DRV
tristate "TEST CompileKey"
help
This is a test module
endmenu
tristate —代表三态,y,n,m
help----是对该配置的说明
3. 编写Makefile
#
# Makefile for test driver
#
obj-$(CONFIG_TEST_DRV) +=hello.o
此时代码层级
(1) kernel\drivers下新增目录test
(2)上面三个文件都放入test目录
然后我们还需要修改kernel\drivers目录下的Kconfig和Makefile
4.修改上一级Kconfig

5.修改上一级的Makefile

6.编译成ko加载

设备加载ko

编译进内核
(略。。。。。)
本文详细介绍了如何在Linux环境中编写内核模块,包括驱动文件hello.c的编写,Kconfig配置文件的设定,以及Makefile的配置。通过这些步骤,可以将驱动编译为ko加载模块,并最终集成到内核中。
1526

被折叠的 条评论
为什么被折叠?



