linux设备驱动程序读书笔记,读书笔记 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 void *kmalloc(unsigned int size,int priority);

void kfree(void *obj);

函数malloc和free的内核版。使用GFR_KERNEL作为priority参数值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值