内核模块开发

在这里小编简单介绍一下Linux内核模块的设计

        首先,我们要知道什么是内核模块

                内核模块具有如下特点:

1.模块本身并不被编译内核文件(zImage或者bzImage)

2.可以根据需求,在内核运行期间动态的安装或卸载

                                                                                                 安装与卸载 

安装 insmod

          例:insmod /home/dnw_usb

卸载 rmmod

         例:rmmod dnw_usb

查看 lsmod

        例: lsmod

 

                                                                                                Linux内核模块设计

三要素:

1.头文件-linux/init.h    linux/module.h

2.加载函数-module_init

3.卸载函数-module_exit

 

简单编写一个内核模块,来证明所需要的三要素

在Linux终端上创建 # vi helloworld.c

#include<linux/init.h>

#include<linux/exit.h>

 

static int hello_init()

{

        printk(KERN_WARING"hello world!\n");

        return 0;

}

 

static int hello_exit()

{

        printk(KERN_WARING""hello world!\n);

}

 

module_init(hello_init);

module_exit(hello_eixt);

 

                                                                                                     编写Makefile

obj-m := hellowold.o

KDIR := /home/boss/linux-2.6.28.6   #这个是开发板内核代码的路径

all:

        make -C $(KDIR) modules CROSS_COMPILE=arm-linux- ARCH=arm

clean:

        rm -f *.o *.ko *.order *.symvers

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值