| 摘要 | 第1-5页 |
| ABSTRACT | 第5-10页 |
| 第一章 绪论 | 第10-14页 |
| ·研究背景 | 第10-11页 |
| ·研究现状 | 第11-12页 |
| ·课题研究的意义 | 第12-13页 |
| ·主要研究内容 | 第13-14页 |
| 第二章 嵌入式设备驱动程序 | 第14-17页 |
| ·设备驱动程序的概念 | 第14页 |
| ·设备驱动程序的特点 | 第14-15页 |
| ·设备驱动程序的功能 | 第15页 |
| ·设备驱动软件结构 | 第15-16页 |
| ·小结 | 第16-17页 |
| 第三章 Linux设备驱动程序 | 第17-32页 |
| ·Linux设备管理 | 第17-20页 |
| ·Linux的I/O子系统 | 第18-19页 |
| ·Linux设备驱动的系统调用 | 第19-20页 |
| ·设备访问方式及Linux下的实现 | 第20-24页 |
| ·查询方式 | 第20-21页 |
| ·中断方式 | 第21-22页 |
| ·DMA方式 | 第22-24页 |
| ·Linux设备驱动程序 | 第24-31页 |
| ·设备驱动程序概念 | 第24-25页 |
| ·主要数据结构 | 第25-28页 |
| ·模块化的概念 | 第28-29页 |
| ·编写、编译和调试 | 第29-31页 |
| ·本章小结 | 第31-32页 |
| 第四章 字符设备驱动程序设计 | 第32-42页 |
| ·Linux字符驱动程序 | 第32-34页 |
| ·字符设备的注册和注销 | 第32页 |
| ·使用内存的读写的I/O端口 | 第32-34页 |
| ·基本入口函数 | 第34页 |
| ·字符设备驱动程序的开发 | 第34-36页 |
| ·不同字符设备驱动程序之间的相似点 | 第34-35页 |
| ·字符设备驱动程序开发的一般步骤 | 第35页 |
| ·可靠性机制 | 第35-36页 |
| ·基于嵌入式ARM9 S3C2410的AD7707驱动程序的设计 | 第36-41页 |
| ·三星S3C2410处理器 | 第36-38页 |
| ·文件系统接口定义 | 第38页 |
| ·初始化和退出函数 | 第38-39页 |
| ·中断接收服务程序 | 第39页 |
| ·写函数 | 第39-40页 |
| ·读函数 | 第40页 |
| ·测试程序 | 第40-41页 |
| ·编译与运行 | 第41页 |
| ·本章小结 | 第41-42页 |
| 第五章 块设备驱动程序设计 | 第42-50页 |
| ·Linux块设备驱动程序 | 第42-48页 |
| ·块设备驱动程序的注册与注销 | 第42页 |
| ·块设备基于缓冲区的数据交换 | 第42-44页 |
| ·块设备读写请求 | 第44-48页 |
| ·块设备驱动程序的开发 | 第48页 |
| ·基于内存的块设备驱动程序 | 第48-49页 |
| ·编写过程 | 第48-49页 |
| ·工作过程 | 第49页 |
| ·可靠性验证方式 | 第49页 |
| ·本章小结 | 第49-50页 |
| 第六章 网络设备驱动程序设计 | 第50-59页 |
| ·网络设备程序简介 | 第50-51页 |
| ·Device数据结构 | 第51页 |
| ·sk_buff数据结构 | 第51-52页 |
| ·内核驱动程序接口 | 第52-54页 |
| ·打开和关闭 | 第52页 |
| ·探测函数 | 第52页 |
| ·发送数据包(hard-start-xmit) | 第52-53页 |
| ·接收数据包 | 第53页 |
| ·中断处理 | 第53-54页 |
| ·其他操作 | 第54页 |
| ·基于USB总线的Linux网络驱动程序设计 | 第54-58页 |
| ·USB设备的访问和控制 | 第54-55页 |
| ·USB网络设备驱动程序设计 | 第55-58页 |
| ·本章小结 | 第58-59页 |
| 第七章 总结与展望 | 第59-60页 |
| 参考文献 | 第60-62页 |
| 攻读学位期间发表的学术论文 | 第62-63页 |
| 致谢 | 第63页 |