linux-device-driverlinux-device-driver入門


備註

本節概述了linux-device-driver是什麼,以及開發人員為什麼要使用它。

它還應該提到linux-device-driver中的任何大型主題,並鏈接到相關主題。由於linux-device-driver的文檔是新的,您可能需要創建這些相關主題的初始版本。

Hello World設備驅動程序

hello_world.c

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>

#define AUTHOR  "Bruce Lee"
#define DESC    "Hello World driver"

static int __init init(void)
{
    printk(KERN_DEBUG "Hello World\n");
    return 0;
}

static void __exit deinit(void)
{
    printk(KERN_DEBUG "Goodbye World\n");
}

module_init(init);
module_exit(deinit);

MODULE_LICENSE("GPL");
MODULE_AUTHOR(AUTHOR);
MODULE_DESCRIPTION(DESC);
 

Makefile文件:

KDIR ?= /lib/modules/`uname -r`/build
obj-m += hello_world.o

all:
        make -C $(KDIR) M=$(PWD) modules

clean:
        make -C $(KDIR) M=$(PWD) clean
 

如何編譯:

$ make
 

如何插入模塊:

$ sudo insmod hello_world.ko
 

如何查看打印消息

$ dmesg
 

如何列出模塊/ s

$ lsmod | grep hello_worls
 

如何刪除模塊

$ sudo rmmod hello_world
 

安裝或設置

有關設置或安裝linux-device-driver的詳細說明。