Linux设备驱动程序(第二章)

1、内核开发中没有现成的函数库可以的调用,而只能调用由内核导出的函数。
2、printf函数与printk函数除了几个细小的差别外功能几乎相同,最大的不同在于printk函数缺少对浮点数的支持。
快速参考
     (1)用来装载和卸载模块到正在运行的内核的用户空间的工具:
     insmod
     modprobe
     rmmod
     (2)用于指定模块的初始化和清除函数的宏:
     #include <linux/init.h>
     module_init(init_function);
     module_exit(cleanup_function);
     (3)仅用于模块初始化和清除阶段的函数:
     _ _init
     _ _initdata
     _ _exit
     _ _exitdata
     (4)最重要的头文件之一。该文件包括驱动程序使用的大部分内核API的定义,包括睡眠函数以及各种变量。
     (5)当前进程:
     struct task_struct *current
     current->pid   当前进程的ID
     current->comm    当前进程的命令名。
     (6)必须的头文件,它必须包含模块源代码中。
     #include <linux/module.h>
     (7)包含所构造内核版本信息的头文件
     #include <linux/version.h>
     (8)用来创建模块参数的宏,用户可以在装载模块时(或者对内建代码引导时)调整这些参数的值。其中参数的值。其中的类型可以是bool、charp、int、invbool、long、short、ushort、uint、ulong或者intarray。
     (9)函数printk的内核代码:
     #include <linux/kernel.h>
     int printk(const char * fmt,...);
其他:
     LINUX_VERSION_CODE
     EXPORT_SYMBOL (symbol);
     EXPORT_SYMBOL_GPL (symbol);
     MODULE_AUTHOR(author);
     MODULE_DESCRIPTION(description);
     MODULE_VERSION(version_string);
     MODULE_DEVICE_TABLE(table_info);
     MODULE_ALIAS(alternate_name);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值