如何写第一个linux内核模块
发布网友
发布时间:2022-04-21 19:27
我来回答
共2个回答
热心网友
时间:2022-04-15 00:29
一般都是写hello world
首先在driver目录下建立hello文件夹,然后在里面新建Makefile、Kconfig、hello.c文件
Makefile文件写:obj-$(CONFIG_HELLO) += hello.o
Kconfig 文件写config HELLO
tristate "this is just a hello mole test"
default m
然后在driver目录下,修改Kconfig,添加 source "/driver/hello/Kconfig"
在driver目录下,修改Makefile,添加obj-$(CONFIG_HELLO) += hello/
hello.c如下:
#include <linux/kernel.h>
#include <linux/mole.h>
static int __init join_hello(void)
{
pr_info("Enter hello world\n");
static void __exit hello_exit(void)
{
pr_info("exit hello world\n");
}
mole_init(join_hello);
mole_exit(hello_exit);
MODULE_AUTHOR("Linux");
MODULE_DESCRIPTION("this is just a hello mole test");
MODULE_LICENSE("GPL v2");
热心网友
时间:2022-04-15 01:47
一、Linux device driver 的概念 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它完成以下的功能:
1、对设备初始化和释放。
2、把数据从内核传送到硬件和从硬件读取数据。
3、读取应用程序传送给设备文件的数据和回送应用程序请求的数据。
4、检测和处理设备出现的错误。