嵌入式Linux下USB接口设备驱动程序的研究与实现
中文摘要 | 第1-5页 |
英文摘要 | 第5-10页 |
1 绪论 | 第10-13页 |
·研究的背景及研究意义 | 第10页 |
·国内外研究现状 | 第10-12页 |
·嵌入式操作系统的发展现状 | 第11-12页 |
·本课题的主要工作 | 第12-13页 |
·本文研究的目的 | 第12页 |
·研究的主要内容 | 第12-13页 |
2 目标平台的介绍与开发环境的搭建 | 第13-26页 |
·目标平台硬件环境 | 第13-14页 |
·目标平台的开发工具 | 第14页 |
·交叉编译工具 | 第14页 |
·创建交叉编译环境 | 第14页 |
·Linux 内核的移植 | 第14-17页 |
·Makefile | 第15页 |
·配置文件 | 第15页 |
·Linux 内核 | 第15-17页 |
·Linux 内核的配置、编译、安装 | 第17-20页 |
·内核环境和开发工具的准备 | 第17-18页 |
·Linux 内核的配置 | 第18-19页 |
·Linux 内核的编译 | 第19-20页 |
·Bootloader 概述 | 第20-23页 |
·Bootloader 的作用 | 第20-22页 |
·Bootloader 的主要工作 | 第22-23页 |
·编译Bootloader | 第23页 |
·根文件系统 | 第23-24页 |
·配置目标平台 | 第24-25页 |
·本章小结 | 第25-26页 |
3 Linux 设备驱动程序模型与框架分析 | 第26-35页 |
·Linux 设备驱动概述 | 第26-28页 |
·Linux 设备模型 | 第26-27页 |
·kobject 数据结构 | 第27-28页 |
·Linux 设备驱动程序框架分析 | 第28-31页 |
·Linux 设备驱动程序的分类 | 第29-30页 |
·设备文件和设备号 | 第30页 |
·可加载的模块机制 | 第30-31页 |
·内核空间与用户空间 | 第31页 |
·设备驱动程序的关键数据结构 | 第31-33页 |
·file 与inode 结构体 | 第31-32页 |
·file_operations 结构体 | 第32-33页 |
·内核中的并发控制 | 第33页 |
·内存与I/O 端口访问 | 第33页 |
·中断 | 第33-34页 |
·设备驱动程序的初始化及编译 | 第34页 |
·本章小结 | 第34-35页 |
4 USB 协议和Linux USB 子系统 | 第35-51页 |
·USB 协议 | 第35-38页 |
·USB 主机 | 第36页 |
·USB 集线器 | 第36页 |
·USB 设备 | 第36页 |
·USB 通讯协议 | 第36-37页 |
·USB 包的类型 | 第37页 |
·域 | 第37页 |
·事务处理 | 第37页 |
·USB 总线传输 | 第37-38页 |
·USB 设备 | 第38-42页 |
·端点 | 第38-40页 |
·接口 | 第40-41页 |
·配置 | 第41页 |
·设备 | 第41-42页 |
·Linux USB 驱动层次结构 | 第42-43页 |
·USB 请求块(URB) | 第43-45页 |
·URB 生命周期 | 第44-45页 |
·USB 主机驱动 | 第45-48页 |
·主机控制器驱动的重要数据结构 | 第45-47页 |
·OHCI 主机控制器驱动 | 第47-48页 |
·S3c2410 USB 主机驱动的实现 | 第48-50页 |
·配置文件 | 第48页 |
·S3c2410 主机控制器驱动 | 第48-50页 |
·本章小结 | 第50-51页 |
5 USB 鼠标驱动的设计及实现 | 第51-63页 |
·USB HID 概述 | 第51页 |
·USB 鼠标的工作原理 | 第51-53页 |
·USB 总线枚举 | 第52-53页 |
·设备的描述符 | 第53页 |
·USB 鼠标驱动程序的实现 | 第53-60页 |
·USB 鼠标设备结构描述 | 第53-54页 |
·驱动程序的注册与注销 | 第54-55页 |
·设备的探测函数 | 第55-58页 |
·设备断开函数 | 第58页 |
·设备打开和释放函数 | 第58-59页 |
·URB 传输完成函数 | 第59-60页 |
·USB 鼠标的调试 | 第60-62页 |
·本章小结 | 第62-63页 |
6 结论与展望 | 第63-64页 |
·结论 | 第63页 |
·后续研究工作的展望 | 第63-64页 |
致谢 | 第64-65页 |
参考文献 | 第65-67页 |
附录 | 第67-69页 |