嵌入式Linux下USB大容量存储设备驱动程序的研究和应用

嵌入式Linux下USB大容量存储设备驱动程序的研究和应用

论文摘要

USB以其高速、即插即用、易于扩展等优点,已逐渐成为各种系统平台的必备接口。USB设备模型中常使用PC作为USB主机设备,使得基于PC平台的USB驱动发展的比较成熟,基本实现了驱动的通用。但随着USB设备形式的丰富,人们也希望将嵌入式设备作为USB从端设备使用。由于嵌入式设备无论是数量还是种类都远远超过PC,因此对于嵌入式Linux下USB从设备端驱动程序的研究具有很大的实际意义和商业价值。另外嵌入式设备作为USB从端设备使用,所带来的安全性问题也是嵌入式领域的一个研究热点。本文研究的是嵌入式Linux下USB从设备端的大容量存储设备驱动(Mass Storage Gadget),目的是解决嵌入式设备作为USB从端设备使用时所带来的驱动设计和安全性问题。从分析Linux驱动开发的关键技术、USB总线协议以及Linux USB子系统架构入手,研究了Mass Storage Gadget驱动的设计方法、工作流程和功能特性。通过研究发现,Mass Storage Gadget驱动利用设备文件与USB主机进行数据交互,使得嵌入式平台对主机表现为存储设备功能,USB主机与外围设备间的数据传输都需要经过嵌入式平台的处理。在上述理论研究的基础上,结合Mass Storage Gadget驱动的功能特性,本文实现了一种针对USB存储设备进行访问控制的方法,使得用户对于USB存储设备的访问需要得到授权才能进行。本文主要工作在于研究Mass Storage Gadget驱动和实现针对USB存储设备的访问控制机制,所得到的研究成果对于嵌入式Linux下USB从设备端驱动程序的设计和USB设备安全性问题的解决有一定的借鉴和参考价值。

论文目录

  • 摘要
  • ABSTRACT
  • 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 硬件中断方式
  • usermodehelper()函数'>5.3.2 callusermodehelper()函数
  • 5.3.3 模块引用方式
  • 5.4 系统实现
  • 5.4.1 软件结构设计
  • 5.4.2 认证模块的实现
  • 5.4.3 认证应用程序设计(Qt)
  • 6 结论
  • 7 展望
  • 8 参考文献
  • 9 攻读硕士期间发表的论文
  • 10 致谢
  • 相关论文文献

    • [1].思政教育融入《Linux基础》课程的探索[J]. 武汉工程职业技术学院学报 2019(04)
    • [2].基于Linux的智能家居控制系统综合实验设计[J]. 实验技术与管理 2020(01)
    • [3].Linux系统教学中关于命名管道文件的解析[J]. 软件 2020(02)
    • [4].基于嵌入式Linux的多关节机器人通信系统设计[J]. 通信电源技术 2020(04)
    • [5].嵌入式Linux下内存泄漏的检查和解决[J]. 现代计算机 2020(11)
    • [6].基于“Linux集群和自动化运维”课程规划与设计[J]. 数字通信世界 2020(04)
    • [7].基于Linux系统服务器网络安全机制[J]. 电子技术与软件工程 2020(09)
    • [8].基于嵌入式Linux系统的电力监控系统优化[J]. 舰船科学技术 2020(14)
    • [9].探析大数据时代的Linux平台网络安全及防范措施[J]. 科技传播 2020(12)
    • [10].Linux操作系统项目情境教学研究[J]. 福建电脑 2020(09)
    • [11].基于嵌入式Linux的电力巡检机器人自动化控制系统设计[J]. 自动化与仪器仪表 2020(10)
    • [12].Linux操作系统探讨[J]. 计算机产品与流通 2019(12)
    • [13].基于Linux的可信计算系统的设计与实现[J]. 电子设计工程 2019(22)
    • [14].Linux平台下网络直播系统的实现[J]. 科技展望 2016(35)
    • [15].任务驱动教学法在linux课程教学中的应用研究[J]. 电子制作 2016(22)
    • [16].从Linux的发展史看职业教育的发展前景[J]. 无线互联科技 2017(01)
    • [17].Linux下自适应网络数据捕获系统设计[J]. 中国新通信 2017(04)
    • [18].Linux调度器免锁优化方法研究[J]. 小型微型计算机系统 2017(04)
    • [19].一种基于Linux标准分区的快照方法[J]. 现代计算机(专业版) 2017(07)
    • [20].Linux网络编程的研究[J]. 电脑编程技巧与维护 2017(06)
    • [21].基于性质制导符号执行的Linux驱动程序缺陷检测研究[J]. 计算机工程与科学 2017(04)
    • [22].基于Linux的嵌入式日志系统设计与实现[J]. 电子科学技术 2017(03)
    • [23].Linux温度控制优化[J]. 信息与电脑(理论版) 2017(08)
    • [24].基于Linux的软件版路由器设计与实现[J]. 电脑编程技巧与维护 2017(14)
    • [25].基于Linux的考勤系统的设计与实现[J]. 电脑知识与技术 2017(18)
    • [26].基于Linux系统的即时通信系统的设计与实现[J]. 电子技术与软件工程 2017(14)
    • [27].基于Linux系统的采煤机调速主控系统设计[J]. 煤炭技术 2017(08)
    • [28].嵌入式Linux根文件系统的构建[J]. 铜陵学院学报 2017(03)
    • [29].Linux系统移植的分析[J]. 信息系统工程 2017(07)
    • [30].基于Linux的智能电表数据采集实现[J]. 软件导刊 2017(09)

    标签:;  ;  ;  ;  ;  

    嵌入式Linux下USB大容量存储设备驱动程序的研究和应用
    下载Doc文档

    猜你喜欢