读书笔记 Linux设备驱动程序(一) 0.02

  
        驱动程序的参数值可由insmod或者modprobe在装载模块时设置,后者还可以从配置文件(/etc/modules.conf)中获得参数赋值。这些命令能够在命令行中接受整型和字符串型赋值。如:模块需要获得一个叫做skull_ival的整型参数和一个叫做skull_sval的字符串型参数:
               insmod skull skull_ival=666 skull_sval="the beast"
        当然,模块必须能够访问这些参数。参数由定义在module.h中的宏MODULE_PARM声明,它必须包含:变量名和描述变量类型的字符串。放在原文件的起始位置
               int skull_ival=0;
               char *skull_val;
              
               MODULE_PARM(skull_ival,"i");
               MODULE_PARM(skull_sval,"s");
五种类型:b,一个字节byte;h,短整型 两个byte;i,整型;l 长整型;s,字符串。

        作为一个例子,至少有两个元素、最多不超过4个元素的数组可定义为:
               int skull_array[4];
               MODULE_PARM(skull_array,"2-4i");

        还有一个MODULE_PARM_DESC的宏,允许开发者为模块参数提供描述性文字,描述性文字存储在目标文件中,能够用类似objdump的工具查看:
               int base_port = 0x300;
               MODULE_PARM(base_port,"i");
               MODULE_PARM_DESC(base_port,"The base I/O port(default 0x300)");


#include <linux/malloc.h>
               void *kmalloc(unsigned int size,int priority);
               void kfree(void *obj);
       函数malloc和free的内核版。使用GFR_KERNEL作为priority参数值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值