NIOS2 uCLinux-mmu 驱动之hello_world

(1)linux-2.6/drivers/目录下,新建mymodule文件夹


(2)hello_world.c

#include <linux/init.h>

#include <linux/module.h> 
#include <linux/kernel.h>   //驱动最基本的3个头文件

MODULE_LICENSE("GPL"); //GPL lisence


static int hello_world_init(void)
{
    printk(KERN_ALERT "Hello,kimi\n");
    return 0;
}


static void hello_world_exit(void)
{
    printk(KERN_ALERT "Goodbye,kimi\n Love Linux !\n");
}

module_init(hello_world_init);
module_exit(hello_world_exit);


(3)编译相关

新建Kconfig文件

menuconfig MY_MODULE
bool "My Module Support"
help
 This is myself module.

config HELLO_WORLD
tristate "Hello World test Support"
depends on MY_MODULE
help
 This is a hello world test driver.

新建Makefile文件

#hello world

obj-$(CONFIG_HELLO_WORLD)                  += hello_world.o

修改上级目录Kconfig, 增加

#mymodule

source "drivers/mymodule/Kconfig"

修改上级目录Makefile, 增加

#mymodule

obj-y                           += mymodule/


(5)make menuconfig 选择hello_world驱动

M  选择为动态加载


(6)下载zImage到开发板

cd /lib/modules/2.6.39-01079-g938653e-dirty/kernel/drivers/mymodule>

insmod hello_world.ko

rmmod hello_world.ko

lsmod 查看加载驱动

你可能感兴趣的:(NIOS2 uCLinux-mmu 驱动之hello_world)