中文摘要 | 第1页 |
英文摘要 | 第3-6页 |
第一章 绪论 | 第6-8页 |
·Linux简介 | 第6-7页 |
·选题背景、和研究意义和完成的工作 | 第7-8页 |
第二章 终端设备驱动程序的开发 | 第8-18页 |
·终端设备 | 第8-10页 |
·串行端口终端(/dev/ttySn) | 第8页 |
·伪终端(/dev/pty/) | 第8-9页 |
·控制台终端(/dev/ttyn,/dev/console) | 第9-10页 |
·终端设备驱动结构 | 第10-12页 |
·tty线路设置 | 第12-13页 |
·线路设置用户空间接口 | 第12页 |
·tty驱动的set_termios函数 | 第12页 |
·tty驱动的ioctl函数 | 第12-13页 |
·UART设备驱动 | 第13-18页 |
第三章 终端驱动程序的编写 | 第18-28页 |
·AT91RM9200串口驱动的数据结构 | 第19-21页 |
·AT91RM9200串口驱动的初始化与释放 | 第21-22页 |
·AT91RM9200串口数据收发 | 第22-26页 |
·AT91RM9200串口中断程序 | 第26-28页 |
第四章 驱动程序的调试和移植 | 第28-39页 |
·驱动程序的调试 | 第28-32页 |
·内核打印信息—printk() | 第28-29页 |
·消息如何被记录 | 第29-30页 |
·速度限制 | 第30-31页 |
·打印设备编号 | 第31页 |
·使用/proc文件系统 | 第31页 |
·通过监视调试 | 第31-32页 |
·oops | 第32页 |
·其他方法和工具 | 第32页 |
·驱动程序的移植 | 第32-36页 |
·可移植的数据类型 | 第32-33页 |
·时间间隔 | 第33-34页 |
·页大小 | 第34页 |
·字节序 | 第34-35页 |
·数据对齐 | 第35页 |
·内核版本 | 第35-36页 |
·从Linux2.4移植设备驱动到Linux2.6 | 第36-39页 |
·内核模块的Makefile | 第36页 |
·内核模块加载时的版本检查 | 第36页 |
·内核模块的加载与卸载函数 | 第36页 |
·内核模块使用计数 | 第36-37页 |
·内核模块导出符号 | 第37页 |
·内核模块输入参数 | 第37页 |
·内核模块别名、加载接口 | 第37页 |
·结构体初始化 | 第37页 |
·字符设备驱动及其它 | 第37-39页 |
第五章 通信程序和通信协议的开发 | 第39-49页 |
·基于套接字的通信程序的开发 | 第39-43页 |
·套接字连接 | 第39页 |
·套接字属性 | 第39-40页 |
·客户-服务器模型 | 第40-41页 |
·客户端程序开发 | 第41-42页 |
·服务器端程序开发 | 第42-43页 |
·Moudbus通信协议的开发 | 第43-49页 |
·Modbus通信协议 | 第44页 |
·Modbus的转输 | 第44-45页 |
·Modbus协议实现 | 第45-49页 |
第六章 结束语 | 第49-50页 |
参考文献 | 第50-52页 |
致谢 | 第52-53页 |
在学期间发表的学术论文和参加科研情况 | 第53页 |