您的位置:首页 > 运维架构 > Linux

基本linux modules 设计

2015-07-18 18:07 330 查看
平台:ubuntu 15.04 32bit

最近再使劲学习嵌入式Linux,记录一些信息,供后来者参考。

内核模块基本构成图:



 下面是基本的modules例子:

#include <linux/init.h>

#include <linux/module.h>

int static hello_init( void )                  //模块加载函数

{

   printk(KERN_WARNING"hello word\n");

   return 0 ;

}

int static  hello_exit( void )                 //模块卸载函数

{

   printk(KERN_INFO"goodbye!!\n");

   return 0 ;

}

module_init(hello_init);                       //申明模块加载函数

module_exit(hello_exit);                       //申明模块卸载函数

MODULE_LICENSE("GPL");                         //模块遵循协议

MODULE_AUTHOR("bmonky<1129584094@qq.com>");    //模块作者

MODULE_DESCRIPTION("a simple module ");        //模块简单描述

下面是简单的Makefile:

obj-m:= hello.o

KDIR := /lib/modules/3.19.0-15-generic/build

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

编译完后生成:

模块加载命令与模块卸载命令:

insmod  //模块加载命令

rmmod //模块卸载命令

加载hello:

sudo insmod hello.ko

显示打印信息:

dmesg | tail -5   //显示syslog最后5行信息

卸载hello模块

sudo rm hello 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: