1 / 31
文档名称:

设备驱动程序.ppt

格式:ppt   页数:31
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

设备驱动程序.ppt

上传人:一文千金 2012/2/23 文件大小:0 KB

下载得到文件列表

设备驱动程序.ppt

文档介绍

文档介绍:设备驱动程序
2
设备驱动程序的作用
设备驱动程序是一个软件层,该软件层使硬件设备响应预定义好的编程接口,我们已经熟悉这些接口,它由一组控制设备的函数(open,read,ioctl等等)组成,这些函数的实际实现由设备驱动程序全权负责。
设备驱动程序(应该只是)为系统的其它部分提供各种使用设备的能力,使用设备的方法应该由应用程序决定。
3
struct file_operations {
struct module *owner;
loff_t (*llseek) (struct file *, loff_t, int);
ssize_t (*read) (struct file *, char *, size_t, loff_t *);
ssize_t (*write) (struct file *, const char *, size_t, loff_t *);
int (*readdir) (struct file *, void *, filldir_t);
unsigned int (*poll) (struct file *, struct poll_table_struct *);
int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
int (*mmap) (struct file *, struct vm_area_struct *);
int (*open) (struct inode *, struct file *);
int (*flush) (struct file *);
int (*release) (struct inode *, struct file *);
int (*fsync) (struct file *, struct dentry *, int datasync);
int (*fasync) (int, struct file *, int);
int (*lock) (struct file *, int, struct file_lock *);
ssize_t (*readv) (struct file *, const struct iovec *, unsigned long, loff_t *);
ssize_t (*writev) (struct file *, const struct iovec *, unsigned long, loff_t *);
ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
};
struct file_operations
include/linux/
设备驱动程序
则编写设备驱动程序的主要工作就是编写如上子函数,并填充file_operations的各个域
一个最简单字符驱动程序,由下面7个函数和1个结构体就可组成。Open(),Release,
static int my_open(struct inode * inode, struct file * filp)
{ 设备打开时的操作…}
static int my_release(struct inode * inode, struct file * filp)
{ 设备关闭时的操作…}
static int my_write(struct file *file, const char * buffer, size_t count,
loff_t * ppos)
{ 设备写入时的操作…}
static int my_read(struct file *file, const char * buffer, size_t count,
loff_t * ppos)
{ 设备读取时的操作…}
()Write(),Read()Ioctl()Init(),Exit()Struct file_operation
static int __init my_init(void)
{初始化硬件,注册设备,创建设备节点…}
static void __exit my_exit(void)
{删除设备节点,注销设备…}
{ 设备的控制操作……}
Static int my_i

最近更新

2026年大学c语言考试题库及答案(夺冠) 14页

2026年干部廉政知识试题(黄金题型) 14页

基于主动学习Kriging的航空发动机机构可靠性分.. 7页

2026年西安高新科技职业学院单招职业技能测试.. 44页

基于一种可切换亲水溶剂辅助提取黄曲霉毒素 31页

2025年黄山太平经济开发区投资有限公司公开招.. 44页

2025青海黄南州同仁市司法局面向全市招录1人考.. 46页

2026年c语言上机期末考试题1套 13页

2026年c语言指针考试题库标准卷 13页

2026年c语言理论考试题(含答案) 13页

2026年c语言试题期末(必刷) 13页

2024年上海交通职业技术学院辅导员招聘考试真.. 36页

2024年北京服装学院辅导员考试参考题库最新 37页

2026年云南锡业职业技术学院单招职业适应性测.. 44页

2024年江西航空职业技术学院马克思主义基本原.. 22页

2026年全国二级计算机C语言程序设计题库(精练.. 13页

2025中国邮政集团有限公司云南省分公司见习人.. 32页

2026年北海康养职业学院单招职业技能考试模拟.. 44页

2025年吉林财经大学马克思主义基本原理概论期.. 13页

2025年宣城职业技术学院单招职业倾向性考试题.. 43页

2025年武威职业学院单招职业倾向性考试题库带.. 43页

2026年安徽城市管理职业学院单招职业适应性考.. 37页

2025年湖南省建设工程工程量清单计价办法(新).. 51页

2025年江西信息应用职业技术学院单招职业适应.. 127页

2025年江西信息应用职业技术学院单招职业倾向.. 73页

喝酒给老婆的检讨书 6页

vae乳液低温发泡工艺 29页

《口蹄疫》ppt课件 42页

自然条件对城市的影响 48页

DL T 5783-2019《水电水利地下工程地质超前预.. 36页