基本linux modules 设计

平台: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 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值