Linuxsystem驱动概述.pptVIP

  • 5
  • 0
  • 约6.51千字
  • 约 34页
  • 2017-05-06 发布于四川
  • 举报
Linuxsystem驱动概述

Linux系统驱动概述 驱动程序与应用程序的区别 应用程序一般有一个main函数,从头到尾执行一个任务;应用程序可以和GLIBC库连接 驱动程序没有main函数,通过使用宏module_init(初始化函数名) 将初始化函数加入内核全局初始化函数列表中,在内核初始化时执行驱动的初始化函数,从而完成驱动的初始化和注册,之后驱动便停止等待被应用软件调用。驱动程序中有一个宏moudule_exit(退出处理函数名)注册退出处理函数。它在驱动退出时被调用。驱动程序中是不能使用标准C库的 内核版本与编译器的版本依赖 当模块与内核链接时,insmod会检查模块和当前内核版本是否匹配,每个模块都定义了版本符号__module_kernel _version,这个符号位于模块文件的ELF头的.modinfo段中。只要在模块中包含linux/module.h,编译器就会自动定义这个符号 每个内核版本都需要特定版本的编译器的支持,高版本的编译器并不适合低版本的内核,Linux-2.4版本的insmod 命令装载模块时,首先从/lib/modules目录和内核相关的子目录中查找模块文件,如果需要从当前目录装载,使用insmod module.o。 设备驱动程序的作用 设备驱动程序将复杂的硬件抽象成一个结构良好的设备,并通过提供统一的程序接口为系统的其它部分提供使用设备的能力和方法。

文档评论(0)

1亿VIP精品文档

相关文档