驱动设计ARM(6410)-按键驱动0基础知识点

本文详细介绍了在Linux的ARM平台上设计驱动时必须遵循的基本模块,包括内核驱动的加载函数、卸载模块、模块参数、许可声明、导出符号及模块声明与描述等关键步骤。

在Linux的ARM平台上的驱动设计需要遵循一个基本的模式,也就是说在你的驱动设计里面除了有些是关于你的硬件知识,但是有些东西是设计这个驱动的几个必须的模块:

1、内核驱动的加载函数(必须的)

static int  _ _init initialization_function(void)

{

………………………..

}

module_init(initialization_function);但是在2.6的内核中可以用requset_module(module_name)或者request_module(“char-major-%d-%d”,MAJOR(dev),MINOR(dev));

2、内核驱动卸载模块(必须的)

static void _ _exit cleanup_function(void)

{

……………………………

}

module_exit(cleanup_function);

3、内核模块参数(可以选择的)

在这一点上要说清楚,我们可以在加载驱动的时候给我们的驱动传一些参数,这个参数可是单个的也可以说数组,具体的可以按照实际情况。

static char *student_name =”xmphoenix!”;

static int num=9;

module_param(num,int,S_IRUGO);

module_param(student_name,char *p,S_IRUGO);

这样在内核加载的时候就传进去了两个参数,如果你是在命令行加载该驱动的话,那么你可以在命令行后加入该参数的名称=xxx,类似的模式来加载你传入的参数

4、模块许可声明(必须的)

在这个部分由于Linux的版权的问题,你需要在你的驱动模块里面添加一些声明,其实这个模块什么很大的实际意义,对于的编程没有任何的影响,但是必须加上去

5、模块导出符号(可以选择的)

具体的什么意思,不是很清楚也没有用到过,但是估计就是把内核的符号表导出来,可以让其他的模块使用罢了

6、模块的声明与描述

在这个模块主要是描述你些的这个驱动的一些基本信息,版本…….等一系列的信息,具体的参见一般的说明书就可以。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值