- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式Linux下USB驱动程序的研究与开发 指导老师 郭卫锋 03级软件2班 何瓛 一 本课题设计(研究)的目的: 源代码开发的Linux以其自身的优势,吸引了众多开发商的目光,成为嵌入式操作系统的新宠。 由于其源代码的开放,驱动的添加一般不用开发者从头做起,主要是修改并编译相关驱动文件,以适合自己需要。 二 目前设计(研究)中公认的重点与难点: 设备驱动属于Linux内核的部分,编写Linux设备驱动需要有一定的Linux操作系统内核基础; 编写Linux设备驱动需要对硬件的原理有相当的了解,大多数情况下是针对一个特定的嵌入式硬件平台编写驱动的; Linux设备驱动中广泛涉及到多进程并发的同步、互斥等控制,容易出现bug; 由于属于内核的一部分,Linux设备驱动的调试也相当复杂。 设计(研究)中我所遇到的的重点与难点: 1.尚且不太熟悉嵌入式系统进行应用程序的开发的工具与环境. 2. 开发者需要对嵌入式即插即用硬件设备有基本的了解. 3:若 USB 设备可以在任何时间点从系统中取走(如U盘、USB读卡器、MP3或数码相机),即使程序目前正在访问它。USB驱动程序必须要能够很好地处理解决此问题,它需要能够切断任何当前的读写,同时通知用户空间程序:USB设备已经被取走。 三 Linux上搭建C/C++IDE开发环境 1.进行开发之前,首先要有合适的开发环境.而首先必须充分地熟悉了Redhat linux 操作系统. 2.开发者可以使用 GLADE 做界面,用 emacs 或 vi编辑器 等等编辑程序,再用终端模拟器编辑开发项目。 GLADE 仍然不能算是一个“集成开发环境”(相比VS STUDIO来说) 。 而Anjuta,一种最近新兴的Linux开发环境,可以将所有这些繁杂零散的任务都在一个统一的、集成的、自然而然的环境下完成,是Linux下第一个正式的IDE,而非传统的记事本编辑器. 四 LINUX下最基本的编译命令 运行 gcc Linux 中最重要的软件开发工具是 GCC。GCC 是 GNU 的 C 和 C++ 编译器。实际上,GCC能够编译三种语言:C、C++和ObjectC(C语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序。 gcc 的主要选项 -ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色,例如 asm 或 typeof 关键词。 -c 只编译并生成目标文件。 -DMACRO 以字符串“1”定义 MACRO 宏。 -DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。 -E 只运行 C 预编译器。 -g 生成调试信息。GNU 调试器可利用该信息。 五 流行的即插即用设备与硬件 PDIUSBD12是一款性价比很高的USB器件,虽然只支持USB1.1规范,但具备本地DMA直接传输能力,可以将uClinux的驱动编译进系统内核. 整个硬件框架如下: 六 Linux设备驱动之字符设备驱动程序 Linux下的设备驱动程序被组织为一组完成不同任务的函数的集合,通过这些函数使得Windows的设备操作犹如文件一般。在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作,如open ()、close ()、read ()、write () 等。 Linux主要将设备分为二类:字符设备和块设备。字符设备是指设备发送和接收数据以字符的形式进行;而块设备则以整个数据缓冲区的形式进行。字符设备的驱动相对比较简单。 六 Linux设备驱动之字符设备驱动程序 驱动程序是内核的一部分,因此我们需要给其添加模块初始化函数,该函数用来完成对所控设备的初始化工作,并调用register_chrdev() 函数注册字符设备:static int __init gobalvar_init(void){ if (register_chrdev(MAJOR_NUM, gobalvar , gobalvar_fops)) { //…注册失败 } else { //…注册成功 }} 六 Linux设备驱动之字符设备驱动程序 与模块初始化函数对应的就是模块卸载函数,需要调用register_chrdev()的反函数 unregister_chrdev():static void __exit gobalvar_exit(void){ if (unregister_chrdev(MAJOR_NUM, gobalvar )) { //…卸载失败 }
您可能关注的文档
- ;3解三角形的实际应用举例.ppt
- ;22离散型随机变量及其概率分布.ppt
- ;83空间点、直线、平面之间的位置关系要点梳理1平面的基.ppt
- 《光伏发电系统专用电缆产品认证技术规范》(申请备案稿).doc
- 《交通灯的PLC控制》教学设计方案.doc
- 《深圳市房产测绘技术规程》.doc
- 《政府工作报告》确定的2009年重点任务和工作目标责任落实.doc
- 【陈懿】中考化学专题复习研究.ppt
- 【课题】自然环境中的物质运动和能量交换——水循环.doc
- 1、观察液体的内摩擦现象,学会用落球法测量液体的粘滞系.ppt
- 2025年事业单位招聘考试教育类专业知识试卷(教育政策法规与教育发展).docx
- 2025年事业单位招聘考试教育类专业知识试卷(教育政策法规与教育挑战).docx
- 2025年事业单位招聘考试教育类专业知识试卷(教育政策法规与教育机遇).docx
- 2025年事业单位招聘考试教育类专业知识试卷(教育政策法规与教育改革).docx
- 新型氮化碳制备方法及其光热效应增强光催化性能的研究.docx
- 2025年宠物医疗健康管理平台宠物医疗行业市场细分领域可持续发展研究报告.docx
- 2025年事业单位招聘考试教育类专业知识试卷(教育政策法规).docx
- 2025年工业互联网平台应用场景拓展与生态构建策略研究报告.docx
- 2025年事业单位招聘考试教育类专业知识试卷(教育政策解读).docx
- 2025年户外装备电商渠道拓展:户外用品市场消费者偏好研究报告.docx
最近下载
- YAESU八重洲FT-8800R中文使用说明书 2014-05-05.pdf
- 小学体育教学课件:走进体育与健康的世界——常见运动损伤的预防和处理.pptx
- 2023-2024学年福建省厦门一中七年级(上)入学数学试卷(含答案).pdf VIP
- 3.1.1 椭圆及其标准方程 课件(共37张ppt) ——高二数学人教A版(2025)选择性必修第一册(含音频+视频).pptx VIP
- 2025江苏财经职业技术学院第二批招聘24人短期笔试模拟试题及答案解析.docx VIP
- 教师职称晋升教育教学能力水平测试复习资料.pdf VIP
- 天津大学《工程经济学》内部题库练习期末真题汇编及答案.pdf
- 2024年海南省中考地理试题卷(含答案解析) +2023年中考地理及答案.docx
- APQC跨行业流程分类框架(PCF)[最新V7.4版-2024年8月21日版-雷泽佳编译).docx VIP
- 肿瘤患者预防跌倒公休会ppt.pptx
文档评论(0)