linux 设备驱动程序 hello+param

来源:互联网 发布:淘宝货源 编辑:程序博客网 时间:2024/05/16 14:56

module_param.c 文件

#include<linux/init.h>

#include<linux/module.h>
#include<linux/kernel.h>
MODULE_LICENSE("GPL");

static char *who;
static int times;

module_param(who, charp, 0644);
module_param(times, int, 0644);

static int __init hello_init(void)
{
        int i;
        for(i = 1; i <= times; i++)
        printk("%d %s!\n", i, who);
        printk("hello kernel! \n");
        return 0;
}

static void __exit hello_exit(void)
{
        printk("Goodbye, %s!\n", who);
}

module_init(hello_init);

module_exit(hello_exit);



Makefile文件

obj-m:=module_param.o

CURRENT_PATH:=$(shell pwd)
VERSION_NUM:=$(shell uname -r)
LINUX_PATH?=/lib/modules/$(VERSION_NUM)/build/
all:
        $(MAKE) -C $(LINUX_PATH) M=$(CURRENT_PATH) modules
clean:
        rm -rf *.o  *.ko  *.mod.c  *.order  *.symvers .*.cmd .tmp_versions





生成module_param.ko

#make


代参数插入模块

#insmod module_param.ko who="string" times= number


查看信息

#dmesg


卸载模块

#rmmod module_param.ko


查看信息

#dmesg


原创粉丝点击