声明
摘要
1 前言
1.1 课题背景与意义
1.2 论文的研究内容和组织结构
2 Linux操作系统下的设备驱动程序
2.1 Linux设备驱动程序的作用
2.2 Linux设备驱动程序的分类
2.2.1 字符型设备
2.2.2 块设备
2.2.3 网络设备
2.3 Linux设备驱动的关键技术
2.3.1 内存和I/O端口
2.3.2 时钟
2.3.3 中断处理
2.3.4 内核中的并发控制
2.3.5 阻塞和非阻塞I/O
3 USB大容量存储设备驱动程序的分析
3.1 USB协议研究和分析
3.1.1 USB拓扑结构
3.1.2 传输模式
3.1.3 USB设备架构
3.1.4 USB设备的枚举过程
3.1.5 Linux USB子系统的体系架构
3.2 Bulk-Only传输协议
3.3 Linux SCSI子系统
3.3.1 SCSI的系统构成
3.3.2 SCSI命令
3.3.3 Linux SCSI子系统的分层架构
3.4 Linux中的USB大容量存储设备
3.4.1 USB大容量存储设备类
3.4.2 USB大容量存储设备工作原理
3.5 Linux USB Gadget子系统研究和分析
3.5.1 Linux USB Gadget子系统
3.5.2 Linux Gadget相关结构
3.6 Mass Storage Gadget驱动
4 嵌入式Linux开发平台的构建
4.1 硬件平台的设计
4.1.1 ARM S3C2410简介
4.1.2 S3C2410处理器USB接口分析
4.2 建立交叉编译环境
4.3 Linux系统的移植
4.3.1 内核配置与编译
4.3.2 划分NandFlash地址空间
4.3.3 建立根文件系统
4.3.4 USB驱动移植(实现开发板挂载为U盘)
5 USB大容量存储设备安全策略设计与实现
5.1 访问控制机制研究与设计
5.1.1 访问控制策略
5.1.2 USB存储设备访问控制机制设计
5.2 USB存储设备的加解密
5.2.1 RC4算法
5.2.2 加密模块的设计
5.3 用户认证方式设计
5.3.1 硬件中断方式
5.3.2 call_usermodehelper()函数
5.3.3 模块引用方式
5.4 系统实现
5.4.1 软件结构设计
5.4.2 认证模块的实现
5.4.3 认证应用程序设计(Qt)
6 结论
7 展望
参考文献
9 攻读硕士期间发表的论文
致谢