Chinaunix首页 | 论坛 | 博客
  • 博客访问: 792743
  • 博文数量: 87
  • 博客积分: 2571
  • 博客等级: 少校
  • 技术积分: 726
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-19 15:04
个人简介

重新开始,做回自我,爱拼的男人最牛!

文章分类
文章存档

2021年(2)

2020年(3)

2019年(17)

2014年(1)

2011年(1)

2010年(63)

我的朋友

分类: LINUX

2010-04-06 21:20:25

算起来学写驱动也有段时间了,不过一直感觉学的很缓慢,甚至都感觉自己还像没入门一样,这几天在搞i2c驱动,其实去年就在这方面学过段时间,只是那时候刚接触,糊里糊涂也看不明白,后来又换其他方面了,现在重新拿起感觉还是很陌生,今天看了一下午源码,参考了几个i2c从设备的驱动实例,忽然对驱动编写有点小认识,不知道是否正确,先还是写出来。
 
我觉得写Linux驱动首先要确定其框架,当然这也就要求先对这方面的相关知识有所了解了,就以i2c的驱动为例吧,我个人觉得,首先要明白那些是属于你要做的,那些是有现成的可以用的,由于我的开发板已经做好了i2c core那部分,其实现在的Linux系统对这部分都已经做好了,我们所要做的也就是i2c设备驱动和文件操作那部分,下面也就是我的一点见解:(还是以i2c为例)
 
写驱动最主要就是打好框架:i2c设备驱动与i2c_driver接口,另外一个就是字符设备的基本结构---文件操作。
1、i2c设备驱动与i2c_driver接口:
换言之即填充i2c_driver结构体-----》也即attach_adapter、detach_client、command等函数实现。
2、文件操作:
file_operation--->open、close、read、write、ioctl、llseek等
3、设备注册、注销等
modul_init、module_exit
 
如此以来,脑袋里对i2c的驱动就会很明亮,也就知道自己接下来要做什么了。
 
全是本人想法,也许有误,有误之处还望高人指示,先谢了!
阅读(1150) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~