




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验内容,编写设备驱动程序,文件操作数据结构,struct file_operations int (*seek) (struct inode * ,struct file *, off_t ,int); int (*read) (struct inode * ,struct file *, char ,int); int (*write) (struct inode * ,struct file *, off_t ,int); int (*readdir) (struct inode * ,struct file *, struct dirent * ,int); int (*select) (struct inode * ,struct file *, int ,select_table *); int (*ioctl) (struct inode * ,struct file *, unsined int ,unsigned long); int (*mmap) (struct inode * ,struct file *, struct vm_area_struct *); int (*open) (struct inode * ,struct file *); int (*release) (struct inode * ,struct file *); int (*fsync) (struct inode * ,struct file *); int (*fasync) (struct inode * ,struct file *,int); int (*check_media_change) (struct inode * ,struct file *); int (*revalidate) (dev_t dev); ,相关说明,这个结构的每一个成员的名字都对应着一个系统调用。 用户进程利用系统调用在对设备文件进行诸如read/write操作时,系统调用通过设备文件的主设备号找到相应的设备驱动程序,然后读取这个数据结构相应的函数指针,接着把控制权交给该函数。 这是linux的设备驱动程序工作的基本原理。所以,编写设备驱动程序的主要工作就是编写子函数,并填充file_operations的各个域。,mydevice.c程序示例,重新编译内核,把mydevice.c放在相应的字符设备驱动程序所在目录,并修改该目录的Makefile文件。,添加设备文件,mknod /dev/mydevice c 231 0,测试,main() int testdev; int i; char buf10; testdev = open(“/dev/mydevice“,O_RDWR); if ( testdev = -1 ) printf(“Cannt open file n“); exit(0); read(test
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025商业大厦物业清洁工劳务合同
- 《合同法分论》课件 - 深入解析合同法律条款与实务应用
- 2025年版用人单位劳动合同模板(标准)
- 《液面现象及其应用》课件
- 2025医疗器械采购合同书范本
- 《租赁中级会计学》课件
- 条款格式就业协议书
- 受伤事故赔偿协议书
- 生活泵房移交协议书
- 销售饲料担保协议书
- DB62-T 4964-2024 地质灾害精细调查技术规范
- 2024年电信智能云服务工程师技能竞赛理论考试题库(含答案)
- 七年级道德与法治下册 第四单元 走进法治天地 第九课 法律在我们身边 第二框《法律保障生活》教学设计 新人教版
- 2-1、职业生涯规划概述
- 《发电厂及变电站二次回路》教学大纲
- 【电子产品开发合同范本】电子产品开发合同范本
- 循证医学考试题库及答案
- GA/T 2136-2024法庭科学电子数据侦查实验技术规范
- 建筑中级职称《建筑工程管理》历年考试真题题库(含答案)
- DL∕T 1623-2016 智能变电站预制光缆技术规范
- 2023-2024学年上海市普陀区八年级(下)期中数学试卷(含答案)
评论
0/150
提交评论