Creating a Linu Device Driver Welcome to Utah State University创建一个Linu设备驱动程序 欢迎来到犹他州立大学.docVIP
- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Creating a Linu Device Driver Welcome to Utah State University创建一个Linu设备驱动程序 欢迎来到犹他州立大学
Creating a Linux Device Driver Much of the following was taken from “The Linux Kernel Module Programming Guide” by Peter Salzman (/LDP/lkmpg/) 1. Define the hardware device. This requires specifying the name of the device and major and minor device numbers. Normally, device numbers are assigned to a manufacturer and are unique for each device. Fortunately, Linux has reserved some device numbers for demonstrations and experiments: Major 60-63 and minor 0-255. Devices are normally defined by special files in /dev. A program reads or writes to a device by treating it as a ‘file’. Devices are specified to be character- or block- oriented depending upon whether they need a buffering. To define a simple device, use mknod as superuser. The following example defines /dev/my_device as character oriented with major and minor numbers of 60 and 128. $ mknod /dev/my_device c 60 128 2. Write a device driver A device driver program is an example of a Linux module. A module is different from a user-program in that a) there is no main(), b) each module must include members init_module() and cleanup_module(), and c) a module may not call library functions – only functions available in the kernel as listed in /proc/ksyms. The init_module() function is invoked when the module is installed. The cleanup_module() is invoked when the driver is removed. The primary responsibility of the init_module() function is to register the module as the device driver for the hardware device you defined in step #1 above. For a character device, this is done with the register_chrdev(). The arguments to this function are the major device number, the name of the device (used in the mknod command), and a struct file_operations structure that Linux will add to the master device table. The minor number isn’t really used by Linux – it is available to the device driver to differentiate between a family of similar devices. As such, family of devices sharing the same major number may be serviced by a s
您可能关注的文档
- 铝合金天桥施工质量验收标准备案.doc
- 企业融资技巧 投融资项目战略分析.ppt
- 广州本田汽车晟驰特约销售服务店开业庆典策划方案.doc
- 一信息报送的内容和要求二信息报送的格式规范三信息.ppt
- 北京交通大学土建学院土木工程隧道方向认知实习报告vae图文.doc
- 交通安全设施方案书交.doc
- 吨碱回收锅炉安装施工组织设计.doc
- 大东汽车配件公司扩建厂房工程现场质量管理制度质量制度表格.doc
- 寿险公司新兵训练营操作手册保险制度.doc
- 打造高绩效考核方法.ppt
- Crazy Baby品牌授权合同书.doc
- Credit Control Gaapifrs Clive Vlieland Boddy web site信用控制gaapifrs克莱夫弗利兰岛博迪网站.ppt
- CRTSI型双块式无砟轨道监理实施细则.doc
- cSharp面向对象程序设计 类与对象.ppt
- cssci cscd《中文核心期刊要目总览》三种核心期刊目录.doc
- cut第一章 同位素示踪技术基础.ppt
- Current Research in Services Marketing:在服务营销研究.ppt
- CVCF逆变器课程设计毕业设计word格式.doc
- C与C头文件大全.doc
- C反应蛋白论文:高敏C反应蛋白对诊断急性冠脉综合征的临床观察.doc
文档评论(0)