读书笔记 Linux设备驱动程序(一) 0.02
2006-03-29 23:25
302 查看
驱动程序的参数值可由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参数值。
相关文章推荐
- 读书笔记 Linux设备驱动程序(一) 0.01
- Linux设备驱动程序学习(2)-调试技术
- LINUX字符设备驱动程序实例(scull)
- linux设备驱动——UVC驱动程序
- 如何编写Linux设备驱动程序
- Linux设备驱动程序(0)
- Linux设备驱动程序学习(3-补) -Linux中的循环缓冲区
- Linux 网络设备驱动程序设计(2)
- linux简单的字符设备驱动程序
- 第12课第4.1节 字符设备驱动程序之中断方式的按键驱动_Linux异常处理结构
- Linux设备驱动程序学习(12) -Linux设备模型(底层原理简介)
- linux设备驱动程序学习笔记--helloworld
- linux设备驱动程序的hello模块编译过程
- Linux下PCI设备驱动程序开发(2)
- LINUX字符设备驱动程序实例(scull)
- 第一个Linux字符设备驱动程序和应用测试
- linux设备驱动程序--类class的实现
- Linux驱动程序开发 - 设备控制接口
- Linux设备驱动程序分类转
- 《Linux Device Drivers》第十六章 块设备驱动程序——note