Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3403843
  • 博文数量: 754
  • 博客积分: 10132
  • 博客等级: 上将
  • 技术积分: 7780
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-14 23:36
文章分类

全部博文(754)

文章存档

2012年(3)

2011年(39)

2010年(66)

2009年(167)

2008年(479)

我的朋友

分类: LINUX

2009-03-18 11:00:11

/********************************************
*             字符设备驱动框架               *
*********************************************
// 设计思路、步骤:
// 1、包含基本的头文件
// 2、定义主设备号、次设备号变量并初始化值为0
// 3、定义设备结构体(把相关资源封装在一个结构体里面,方便操作管理)
// 4、定义结构体变量
// 5、定义并实现open函数接口
// 6、定义并实现release函数接口
// 7、定义并实现ioctl函数接口
// 8、定义并实现read函数接口
// 9、定义并实现write函数接口
// 10、设置设备文件操作接口
// 11、定义并实现设备安装封装函数
// 12、定义并实现设备加载函数
// 13、定义并实现设备卸载函数
// 14、宏定义设备加载、卸载函数
//基本头文件
#include
#include
#include
#include
#include
#include
static int ledMajor = 0;  //主设备号初始值
static int ledMinor = 0;  //次设备号初始值
//led驱动结构
struct led_dev{
 struct cdev cdev ;
 char data[1] ;
};
static struct led_dev *myled ; //定义设备驱动变量
//打开设备
int s3c2410_led_open(struct inode *inode, struct file *filp)
{  
 return 0;
}
//设备io操作
int s3c2410_led_ioctl(struct inode *inode, struct file *file,
       unsigned int cmd, unsigned long arg)
{
 int ret=0 ;
 return 0 ;
}
//读
ssize_t s3c2410_led_read(struct file *filp,char __user *buf,size_t count,
 loff_t *f_pos)
{
  ssize_t retval = 0 ;
  return retval ;
}
//写
ssize_t s3c2410_led_write(struct file *filp,const char __user *buf,size_t count,
 loff_t *f_pos)
{
  ssize_t retval = 0 ;
  return retval ;
}
//释放设备
int s3c2410_led_release(struct inode *inode, struct file *filp)
{
 return 0;
}
//设备文件操作接口
struct file_operations s3c2410_fops = {
 owner: THIS_MODULE,
 open: s3c2410_led_open,
 ioctl: s3c2410_led_ioctl,
 release: s3c2410_led_release,
 read: s3c2410_led_read ,
 write: s3c2410_led_write,
};
//安装字符设备
int led_setup_cdev(struct led_dev *dev,int index)
{
 int err,devno=MKDEV(ledMajor,ledMinor) ;
 return err ;
}
//设备模块装载
int __init led_driver_init(void)
{
 int ret;
 return ret ;
}
//设备模块卸载
void __exit led_driver_exit(void)
{
}
//模块加载
module_init(led_driver_init);
//模块卸载
module_exit(led_driver_exit);
 
阅读(666) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~