嵌入式Linux下USB接口设备驱动程序的研究与实现

嵌入式Linux下USB接口设备驱动程序的研究与实现

论文摘要

嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件均可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式系统的应用日益广泛,可以说无所不在。Linux操作系统由于开放源代码、内核功能强大、尺寸较小等原因,在嵌入式系统中得到了广泛的应用。要把Linux内核应用到一个特定的嵌入式系统首要的工作就是系统移植和驱动开发。论文针对S3C2410主控芯片的嵌入式开发平台,给出了内核移植的具体方法和USB人机接口设备驱动的原理及实现。论文的主要主要研究工作包括:①在对目标平台软硬件开发环境、Linux内核以及Bootloader进行介绍的基础上,给出了针对目标平台配置和编译Linux内核并移植到到目标平台的方法。②对Linux内核的设备驱动模型和驱动架构进行了深入分析,研究了USB协议和USB主机端驱动在Linux上的实现过程,内容包括USB的基本通讯协议、USB接口的特性、USB总线传输的协议和USB设备驱动程序开发的知识。③给出了Linux下USB鼠标驱动程序设计过程、技术细节、实现和在目标平台上调试等具体方法。为完成这个嵌入式Linux开发平台的项目,阅读并改写了大量的内核源代码,对内核的底层实现机制和USB驱动编写进行了探索与研究。论文对在其它平台进行内核移植或驱动开发也可以起到借鉴作用。

论文目录

  • 中文摘要
  • 英文摘要
  • 1 绪论
  • 1.1 研究的背景及研究意义
  • 1.2 国内外研究现状
  • 1.2.1 嵌入式操作系统的发展现状
  • 1.3 本课题的主要工作
  • 1.3.1 本文研究的目的
  • 1.3.2 研究的主要内容
  • 2 目标平台的介绍与开发环境的搭建
  • 2.1 目标平台硬件环境
  • 2.2 目标平台的开发工具
  • 2.2.1 交叉编译工具
  • 2.2.2 创建交叉编译环境
  • 2.3 Linux 内核的移植
  • 2.3.1 Makefile
  • 2.3.2 配置文件
  • 2.3.3 Linux 内核
  • 2.4 Linux 内核的配置、编译、安装
  • 2.4.1 内核环境和开发工具的准备
  • 2.4.2 Linux 内核的配置
  • 2.4.3 Linux 内核的编译
  • 2.5 Bootloader 概述
  • 2.5.1 Bootloader 的作用
  • 2.5.2 Bootloader 的主要工作
  • 2.5.3 编译Bootloader
  • 2.6 根文件系统
  • 2.7 配置目标平台
  • 2.8 本章小结
  • 3 Linux 设备驱动程序模型与框架分析
  • 3.1 Linux 设备驱动概述
  • 3.1.1 Linux 设备模型
  • 3.1.2 kobject 数据结构
  • 3.2 Linux 设备驱动程序框架分析
  • 3.2.1 Linux 设备驱动程序的分类
  • 3.2.2 设备文件和设备号
  • 3.2.3 可加载的模块机制
  • 3.2.4 内核空间与用户空间
  • 3.3 设备驱动程序的关键数据结构
  • 3.3.1 file 与inode 结构体
  • operations 结构体'>3.3.2 fileoperations 结构体
  • 3.4 内核中的并发控制
  • 3.5 内存与I/O 端口访问
  • 3.6 中断
  • 3.7 设备驱动程序的初始化及编译
  • 3.8 本章小结
  • 4 USB 协议和Linux USB 子系统
  • 4.1 USB 协议
  • 4.1.1 USB 主机
  • 4.1.2 USB 集线器
  • 4.1.3 USB 设备
  • 4.1.4 USB 通讯协议
  • 4.1.5 USB 包的类型
  • 4.1.6 域
  • 4.1.7 事务处理
  • 4.1.8 USB 总线传输
  • 4.2 USB 设备
  • 4.2.1 端点
  • 4.2.2 接口
  • 4.2.3 配置
  • 4.2.4 设备
  • 4.3 Linux USB 驱动层次结构
  • 4.4 USB 请求块(URB)
  • 4.4.1 URB 生命周期
  • 4.5 USB 主机驱动
  • 4.5.1 主机控制器驱动的重要数据结构
  • 4.5.2 OHCI 主机控制器驱动
  • 4.6 S3c2410 USB 主机驱动的实现
  • 4.6.1 配置文件
  • 4.6.2 S3c2410 主机控制器驱动
  • 4.7 本章小结
  • 5 USB 鼠标驱动的设计及实现
  • 5.1 USB HID 概述
  • 5.2 USB 鼠标的工作原理
  • 5.2.1 USB 总线枚举
  • 5.2.2 设备的描述符
  • 5.3 USB 鼠标驱动程序的实现
  • 5.3.1 USB 鼠标设备结构描述
  • 5.3.2 驱动程序的注册与注销
  • 5.3.3 设备的探测函数
  • 5.3.4 设备断开函数
  • 5.3.5 设备打开和释放函数
  • 5.3.6 URB 传输完成函数
  • 5.4 USB 鼠标的调试
  • 5.5 本章小结
  • 6 结论与展望
  • 6.1 结论
  • 6.2 后续研究工作的展望
  • 致谢
  • 参考文献
  • 附录
  • 相关论文文献

    • [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]. 计算机产品与流通 2019(12)
    • [12].基于Linux的可信计算系统的设计与实现[J]. 电子设计工程 2019(22)
    • [13].Linux平台下网络直播系统的实现[J]. 科技展望 2016(35)
    • [14].任务驱动教学法在linux课程教学中的应用研究[J]. 电子制作 2016(22)
    • [15].从Linux的发展史看职业教育的发展前景[J]. 无线互联科技 2017(01)
    • [16].Linux下自适应网络数据捕获系统设计[J]. 中国新通信 2017(04)
    • [17].Linux调度器免锁优化方法研究[J]. 小型微型计算机系统 2017(04)
    • [18].一种基于Linux标准分区的快照方法[J]. 现代计算机(专业版) 2017(07)
    • [19].Linux网络编程的研究[J]. 电脑编程技巧与维护 2017(06)
    • [20].基于性质制导符号执行的Linux驱动程序缺陷检测研究[J]. 计算机工程与科学 2017(04)
    • [21].基于Linux的嵌入式日志系统设计与实现[J]. 电子科学技术 2017(03)
    • [22].Linux温度控制优化[J]. 信息与电脑(理论版) 2017(08)
    • [23].基于Linux的软件版路由器设计与实现[J]. 电脑编程技巧与维护 2017(14)
    • [24].基于Linux的考勤系统的设计与实现[J]. 电脑知识与技术 2017(18)
    • [25].基于Linux系统的即时通信系统的设计与实现[J]. 电子技术与软件工程 2017(14)
    • [26].基于Linux系统的采煤机调速主控系统设计[J]. 煤炭技术 2017(08)
    • [27].嵌入式Linux根文件系统的构建[J]. 铜陵学院学报 2017(03)
    • [28].Linux系统移植的分析[J]. 信息系统工程 2017(07)
    • [29].基于Linux的智能电表数据采集实现[J]. 软件导刊 2017(09)
    • [30].基于嵌入式Linux的智能家居机器人[J]. 电子世界 2017(20)

    标签:;  ;  

    嵌入式Linux下USB接口设备驱动程序的研究与实现
    下载Doc文档

    猜你喜欢