欢迎来到天天文库
浏览记录
ID:10861957
大小:360.00 KB
页数:42页
时间:2018-07-08
《Linux字符设备驱动-毕业论文.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、本科毕业论文(科研训练、毕业设计)题目:Linux字符设备驱动姓名:学院:软件学院系:专业:软件工程年级:学号:指导教师(校内):职称:指导教师(校外):职称:年月摘要驱动程序在Linux内核里扮演着特殊的角色,它们完全隐藏了设备工作的细节。用户通过一套标准化的调用来操作设备,这些调用是与特定的驱动相互独立的;设备驱动的任务就是将这些调用映射到作用于实际硬件的相关设备操作上。这个编程接口使得驱动可以与内核的其他部分分开建立,并在需要的时候“插入”。这种模块化的方法使得Linux驱动易写,易于修改。本文通过在嵌入式Linux上实现一个模块化的RTC设备驱动
2、实例,分析了Linux内核中字符设备驱动的运行机制,并着重介绍了Linux字符设备驱动的关键过程,包括基本字符设备驱动,I2C总线驱动,设备底层操作等。同时也展示了通过交叉编译来开发和调试的全过程。关键词:字符设备;设备驱动;I2C;实时时钟;交叉编译。AbstractDevicedriverstakeonaspecialroleintheLinuxkernel;theyhidecompletelythedetailsofhowthedeviceworks.Useractivitiesareperformedbymeansofasetofstandard
3、izedcallsthatareindependentofthespecificdriver;mappingthosecallstodevice-specificoperationsthatactonrealhardwareisthentheroleofthedevicedriver.Thisprogramminginterfaceissuchthatdriverscanbebuiltseparatelyfromtherestofthekerneland"pluggedin"atruntimewhenneeded.ThismodularitymakesL
4、inuxdriverseasytowrite,easytomodify.ThroughaninstanceofrealizingamodularizeddriveroftheRTCdeviceintheembeddedLinux,thispaperanalyzesthefunctionmechanismofthechardevicedriverindetail,andpaymoreattentiononthekeyprocessduringthedevelopmentoftheLinuxchardevicedrivers,includingthebasi
5、cchardevicedriver,thei2cbusdriver,thedevicebottomoperationandsoon.ThepaperalsopresentsthewholedebuganddevelopmentprocesswiththecrosscompilemethodKeywords:chardevice;devicedriver;I2C;RTC;crosscompile.目录第1章引言11.1Linux简介11.2设备驱动11.3Linux驱动21.4选题背景3第2章字符设备驱动框架42.1注册设备文件42.1.1设备号42.1.
6、2注册设备号42.1.3释放设备号52.1.4创建设备节点52.2内核设备注册62.3设备操作索引62.4设备操作函数72.4.1Open()72.4.2Release()72.4.3Read()72.4.4Write()82.4.5ioctl()8第3章设计与实现93.1设计思路93.1.1设计目标93.1.2解决方案93.1.3最终方案93.1.4细节103.1.5数据流图103.2I2C总线驱动113.2.1I2C背景113.2.2传输格式113.2.3标志位START&STOP123.2.4响应133.2.5传输流图133.2.6引脚地址143.
7、2.7电平设置143.2.8引脚初始化153.2.9I2C写数据153.2.10写入从机地址163.2.11I2C读数据163.3RTC设备驱动173.3.1从机地址173.3.2设备数据地址183.3.3数据编码183.3.4读寄存器数据193.3.5写寄存器数据193.3.6读取时间193.3.7设置时间20第4章编译调试214.1交叉编译214.2模块Makefile设计214.3测试设计234.3.1test.c设计234.3.2Makefile设计244.4调试脚本设计254.5调试流程274.6测试结果28结论29致谢30参考文献31Cont
8、entsChapter1Introduction11.1Introduction
此文档下载收益归作者所有