块设备和字符设备精简总结

块设备和字符设备精简总结

ID:30084769

大小:23.63 KB

页数:18页

时间:2018-12-26

块设备和字符设备精简总结_第1页
块设备和字符设备精简总结_第2页
块设备和字符设备精简总结_第3页
块设备和字符设备精简总结_第4页
块设备和字符设备精简总结_第5页
资源描述:

《块设备和字符设备精简总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划块设备和字符设备精简总结  linux设备驱动分3类:字符设备驱动、块设备驱动、网络设备驱动。废话少说:  直接贴图展示:  1、字符设备结构体描述:cdev  structcdev{  structkobjectkobj;/*内嵌的kobject对象*/  strcutmodule*owner;/*所属模块*/  structfile_operations*ops;/*文件操作结构体*/  struc

2、tlist_headlist;  dev_tdev;/*设备号,dev_t实质是一个32位整,12位为主设备号,20位为次设备号,提取主次设备号的方法:MAJOR,MINOR,生成dev_t的方法:MKDEV*/  unsignedintcount;  };  2、内核提供了一组函数来操作cdev结构体  voidcdev_init(structcdev*,structfile_operations*);/*初始化cdev的成员,并且建立cdev与file_operation的连接*/目的-通过该培训员工可对保安

3、行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  structcdev*cdev_alloc(void);/*动态申请一个cdev的内存空间*/  voidcdev_put(structcdev*p);  intcdev_add(structcdev*,dev_t,unsigned);/*添加一个cdev,完成字符的注册*/voidcdev_del(s

4、tructcdev*);/*删除一个cdev,完成字符的注销*/  在调用cdev_add函数向系统注册字符设备之前,应该先调用register_chrdev_region()函数或是alloc_chrdev_region()函数向系统申请设备号;模型为:  intregister_chrdev_region(dev_tfrom,unsignedcount,constchar*name);  intalloc_chrdev_region(dev_t*dev,unsignedbaseminor,unsignedco

5、unt,constchar*name)  在系统调用cdev_del函数从系统注销字符设备后,uegister_chrdev_region()应该释放之前申请的设备号,该函数原型为:  uegister_chrdev_region(dev_tfrom,unsignedcount)  3、关于file_operations的内容请参考下篇分析  下面代码是基于虚拟的globalmem设备进行字符设备的分析,具体在linux中设备驱动远要比这个复杂。/*目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发

6、展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  *Aglobalmemdriverasanexampleofchardevicedrivers  *  *TheinitialdeveloperoftheoriginalcodeisBarrySong  *.AllRightsReserved.  */  #include  #include  #include  #include  #i

7、nclude  #include  #include  #include  #include  #include  #include  #defineGLOBALMEM_SIZE0x1000/*全局内存最大4K字节*/  #defineMEM_CLEAR0x1/*清0全局内存*/  #defineGLOBALMEM_MAJOR250/*预设的globalmem的主设备号*/目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战

8、略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  staticintglobalmem_major=GLOBALMEM_MAJOR;  /*globalmem设备结构体*/  structglobalmem_dev{  structcdevcdev;/*cdev结构体*/  unsignedcharmem[GLOBALME

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。