Chinaunix

标题: I2C linux 设备驱动模型的学习总结 [打印本页]

作者: npuazm    时间: 2011-11-23 10:21
标题: I2C linux 设备驱动模型的学习总结
本帖最后由 npuazm 于 2011-11-23 12:32 编辑

在我刚刚开始学习linux 驱动设备模型的时候,看的是I2C 设备模型,为什么选取这个linux device driver 呢?原因很简单,就是因为网络上关于这方面的讨论很多,有很多现成的资源。我对I2C 设备模型的总结如下:

Summary
HOST
        When the I2C host probe , it will make one adapter and some clients those share the same adapter. The program will initiate the client->dev , and put the dev into the kernel, at same time the program will fill the client->name with the device info (from the __i2c_board_list) .
  
DEVICE

      When use i2c_add_driver add  I2C driver , the  program will use the i2c_device_id name find the client (which has the same name ),and fill the client-driver with the I2C driver.

Host 指的是IC 芯片的 I2C host control(这已经由大的IC 芯片公司做好了,不需要驱动工程师来做。当然你如果你在芯片公司做驱动,这块就是你来做喽~)

Device 指的是具体的具有I2C接口的功能芯片,比如 具有I2C 的EEROM等等。(这个一般由驱动工程师,自己移植,注意是移植呀,不用从头写。linux 是开源的,一个芯片的驱动很可能已经在发布的版本中实现了,你只需要改改相应的配置和初始化就ok了,即使你从linux 找不到一样,但是完全可能找到类似的,再即使类似的找不到,你还可以从功能芯片的公司索取demo,总之驱动工程师的工作主要是修改移植代码。)

附件中是我学习的总结,希望能够对各位xdjm有点帮助~

目录大概是

1 I2C protocol  
2 Software I2C overview in linux kernel
3 How add I2C device driver in kernel ?
4 How  make client  ?

其中前两项是我从网上找的资料,后两项是我看代码的总结~
有不对的地方请各位指出,谢谢 I2C_linux_device_driver.7z (205.97 KB, 下载次数: 843)

I2C_linux_device_driver.7z

205.97 KB, 下载次数:


作者: chenhtg    时间: 2012-02-04 16:59
下载下,多谢
作者: ckf513728912    时间: 2012-02-05 10:19
谢谢
作者: 洋芋壹代    时间: 2012-02-07 10:11
哇~·~,有用哦
作者: godspeed1989    时间: 2012-03-01 11:08

先谢谢了!
下载下来看看!

作者: tangqingcai    时间: 2012-04-16 20:14
多谢,学习来
作者: ljldx    时间: 2012-08-15 16:44
多谢楼主,学习了!
作者: kelyen    时间: 2012-12-13 14:16
多谢楼主,好好学习
作者: xlhl3    时间: 2013-05-13 23:11
学习 学习~~
作者: hello2mao    时间: 2015-06-03 22:47
多谢,下载了
作者: bjxydedu118    时间: 2016-10-25 09:36
辛苦!嵌入式开发学习3026827905


作者: 肖邦的记忆    时间: 2017-01-31 08:58
怎么下载啊

作者: 朝chao    时间: 2017-04-11 22:57
手机版不能下载吗。?

作者: myforever    时间: 2017-05-30 20:13
很不错的总结,学习了





欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2