嵌入式Linux设备驱动开发 [只读][兼容模式]
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本章的要求
第11章、嵌入式Linux设备驱动开发u Linux设备驱动的基本概念
u Linux设备驱动程序的基本功能
u Linux设备驱动的运作过程
u常见设备驱动接口函数
u掌握字符设备驱动程序的编写
u初步掌握LED型输出设备驱动程序的编写
u初步掌握BUTTON型输入设备驱动程序的编写u初步掌握内核存储模块驱动编程
u了解块设备的编写流程
u了解中断驱动编写流程
本章的主要内容
}11.1设备驱动概述
}11.2字符设备驱动编程概述
}11.3GPIO-LED驱动程序实例
}11.4GPIO-BUTTON驱动程序实例
}11.5Qemu系统虚拟FIFO驱动程序实例}11.6块设备驱动程序初步
}11.7中断驱动编程初步
11.1 设备驱动概述
设备驱动简介及驱动模块
}操作系统是通过各种驱动程序来驾驭硬件设备的,它为用户屏蔽了各种各样的设备,驱动硬件是操作系统最基本的功能,并且提供统一的操作方式。设备驱动程序是内核的一部分,硬件驱动程序是操作系统最基本的组成部分,在Linux内核源程序中也占有60%以上。因此,熟悉驱动的编写是很重要的。
}Linux内核中采用可加载的模块化设计(LKMs,Loadable Kernel Modules),一般情况下编译的Linux内核是支持可
插入式模块的,也就是将最基本的核心代码编译在内核中,其他的代码可以编译到内核中,或者编译为内核的模块文件(在需要时动态加载)。
系统分层模型应用程序
系统调用层
字符设备驱动程序块设备驱动程序网络设备驱动程序
Linux 核心模块
硬件虚拟文件系统
块设备层网络内核空间用户空间