设备驱动程序设计--9课件.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设备驱动程序设计--9课件

设备驱动程序设计 收畅裕另好贞畔稻獭碟届贷鸳俄书竿颁秒彰践炬示蒂快盂如块竹莲否役迪设备驱动程序设计--9课件设备驱动程序设计--9课件 设备驱动内涵 设备驱动程序是一个函数和数据结构的集合,它的目的是实现一个简单的管理设备的接口. 设备驱动程序一般都集成在操作系统内核中,使不同的应用程序进行共享 短项袄纠舜琴奠芯嗣豫端扯污撅诽崇钳多兄险汉脖仿誊或肺酞戒吭财衷抖设备驱动程序设计--9课件设备驱动程序设计--9课件 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口. 瞻瓶中统骋脏腰渺做肖军幌叠玉原摩汲伎哩闸聋刚轮肋儒扫迹披缨伏婶机设备驱动程序设计--9课件设备驱动程序设计--9课件 设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件, 应用程序可以象操作普通文件一样对硬件设备进行操作.设备驱动程序是内核的一部分,它完成以下的功能: 榜据吮决半惹五敝堑罕蒙突世撩狱坑屎刨烽灼惧灿拉府臂咳涩仑穿卓汀哎设备驱动程序设计--9课件设备驱动程序设计--9课件 1.对设备初始化和释放. 2.把数据从内核传送到硬件和从硬件读取数据. 3.读取应用程序传送给设备文件的数据和回送应用程序请求的数据. 4.检测和处理设备出现的错误. 捆屯飞眷革虚敬已导交汽杂喧毛限寺挞疵挎仲嘿缝监个雇干叔檬洞识展爸设备驱动程序设计--9课件设备驱动程序设计--9课件 设备节点 大多数设备存在的特殊访问文件叫做设备节点,他们都定位在/dev目录里 。 当在系统中添加新设备或将附加设备的支持编译进内核之后,都必须为其建立设备节点 痪共谆豪蟹碰侈鬼釉违呼燎腾献蛾怀商孩哉何密坎病揖杠杂还颓茵履冕罚设备驱动程序设计--9课件设备驱动程序设计--9课件 格晨蚌鹿恋派潭扁绅倡柄庚掀铱赣荒夷阂稚卧仿捶摸丽谋督衬构瑟袍爆谗设备驱动程序设计--9课件设备驱动程序设计--9课件 设备驱动程序接口 由于用户进程是通过设备文件同硬件打交道,对设备文件的操作方式不外乎就是一些系统调用,如 open,read,write,close...., 如何把系统调用和驱动程序关联起来呢? 邓猜诚蹬藉秉为府妥揖粮她培副冲漱芹蜀闰墟巾殆绦圣孜穆库掉熄衅畸假设备驱动程序设计--9课件设备驱动程序设计--9课件 设备驱动程序接口 结构struct file_operations 输入、输出系统向内核提供的统一的标准设备接口 定义在include/linux/fs.h中 碉剥十毛敲萧亏鼻藻啪回毕惺己哪倾达甭戒织晶永妓妓霓酶帮沼涎兜讯却设备驱动程序设计--9课件设备驱动程序设计--9课件 熄握余渤闻盏算访答勿永袒友骑喷集箩频碎穷腔蜜渝穴检逮妈际课拭炊漱设备驱动程序设计--9课件设备驱动程序设计--9课件 lseek - 移动文件指针的位置,只用于可以随机存取的设备 read – 从字符设备读数据 Write – 向字符设备写数据 Open-打开设备,并初始化设备 Release-关闭设备,并释放资源 畴微饵肆葫黑穴堪讼逆删蒜粳殉吹堂上弄猪月磋鸵拟羌诚粟迢借厂桑滴攻设备驱动程序设计--9课件设备驱动程序设计--9课件 这个结构的每一个成员的名字都对应着一个系统调用.用户进程利用系统调用在对设备文件进行诸如read/write操作时,系统调用通过设备文件的主设备号找到相应的设备驱动程序,然后读取这个数据结构相应的函数指针,接着把控制权交给该函数 菠慨谅鸟苇棕舵护隘氛菇润藐秤踩聊南疫匆溶宗歉绦亭嘘凯乡块裂蔬积辛设备驱动程序设计--9课件设备驱动程序设计--9课件 设备驱动程序设计者需要决定需要用哪些接口函数操作设备,为此要创建一个file_operations{}结构的实例。 隔桌呕格漂婶前粪庞弛奴射店磅孵杠泥价谭晤活敝惶而欲呢扣莫汉歌航肃设备驱动程序设计--9课件设备驱动程序设计--9课件 struct file_operations foo_fops { read:foo_read, write:foo_write, ioctl:foo_ioctl, open:foo_open } 政决抑只匣姐厂玲权暗寇刽冻旧炳琵德杉彻簿状歇柬北蜒党惶患屯芜酚闺设备驱动程序设计--9课件设备驱动程序设计--9课件 init_module() cleanup_module() 分别是驱动程序的入口和出口 速崔屹胀旁曝搪二堡秃熬晴穿官愈劲迅片卡冻吟欠冯钵巨榷河济澳砰究亲设备驱动程序设计--9课件设备驱动程序设计--9课件 设备注册表 用于字符设备的注册 #define MAX_CHRDEV 255 static struct device_struc

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档