标签:ssi asm 机制 off 概念 down const size_t 文件的
本章内容:
Linux设备驱动的基本概念
Linux设备驱动程序的基本功能
linux设备驱动的运作过程
常见设备驱动接口函数
掌握LCD设备驱动程序编写步骤
掌握键盘设备驱动程序编写步骤
cdev_alloc()
函数向系统申请分配struct cdev
结构,再用cdev_init()
函数初始化已分配到的结构与file_operations结构关联。open()
realease()
read()
write()
函数#include <linux/fs.h>
ssize_t (*read) (struct file *filp, char *buff, size_t count, loff_t *offp)
ssize_t (*write) (struct file *filp, const char *buff, size_tc count, loff_t *offp)
//*filep文件指针,buff指向用户缓冲区,count传入数据长度,offp用户在文件中的位置
//返回值:写入的数据长度
copy_to_user()
和copy_from_user()
,同时检查用户空间指针是否有效,如无效,不进行复制。#include <asm/uaccess.h>
unsigned long copy_to_user(void *to, const void *from, unsigned long count)
unsigned long copy_from_user(void *to, const void *from, unsigned long count)
//to数据目的缓冲区,from数据源缓冲区,count数据长度
//返回值:写入的数据长度。失败:EFAULT
ioctl()
函数接口给用户提供对设备的非读写操作机制。#include <linux/fs.h>
int (*ioctl) (sturct inode *inode, sturct file *filp,unsigned int cmd, unsigned long arg)
//inode:文件的内核内部结构指针,filp:文件描述符,cmd命令类型,arg命令相关参数
#include <linux/malloc.h>
标签:ssi asm 机制 off 概念 down const size_t 文件的
原文地址:http://www.cnblogs.com/zhuohua/p/7905725.html