- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内核中I2C体系结构-最强学习笔记!
内核中I2C体系结构 1.总体框架 2 1.1 I2C体系结构总体框图: 2 1.2 组成部分: 2 1.3 重要文件: 3 1.4 重要函数接口与结构体 3 结构体: 3 函数: 3 各结构体的作用与它们之间的关系 3 1.5 i2c子系统的初始化函数的执行先后顺序 4 2.I2C核心 4 2.1 i2c_init()函数 4 2.1.1 i2c总线的注册 5 2.1.2 i2c驱动注册 6 2.1.3 i2c_init()函数总结 6 3.总线驱动 7 3.1 I2C platform_device初始化smdk2440_machine_init() 7 3.1.1 s3c_i2c_set_platdata 8 3.1.2 i2c_register_board_info 9 3.1.3 platform_add_devices 10 3.2 I2C platform_drive适配器驱动初始化i2c_adap_s3c_init() 10 3.3 platform_bus总线 11 3.4总线设备和总线驱动初始化总结: 11 3.5 probe函数——adapter_device 和 client_device的注册 12 总结 16 4,设备驱动 17 4.1 i2c_dev_init() 17 4.1.1 register_chardev 17 4.1.2 i2c_add_drive 注册i2c_driver (i2cdev_driver) 18 总结i2c_dev_init() : 20 5,i2c子系统通信方法 20 5.1 open设备/dev/i2c-0 20 5.2 write 21 5.3 i2cdev_ioctl 27 5.2.1 I2C_SLAVE / I2C_SLAVE_FORCE 27 5.2.2 I2C_RDWR 27 6,I2C子系统总结: 29 附录: 30 说明: 内核版本: 2.6.32 I2C设备: E2PROM (at24c02) /************************************************\ 跳过此内容不影响整体框架学习 \************************************************/ (标号) 上下文相互提到 1.总体框架 1.1 I2C体系结构总体框图: 从i2c驱动架构图中可以看出,linux内核对i2c架构抽象了一个叫核心层core的中间件,它分离了设备驱动device driver和硬件控制的实现细节(如操作i2c的寄存器),core层不但为上面的设备驱动提供封装后的内核注册函数,而且还为小面的硬件事件提供注册接口(也就是i2c总线注册接口),可以说core层起到了承上启下的作用。 1.2 组成部分: Linux的I2C体系结构分为3个组成部分: I2C设备驱动:提供策略,定义描述具体设备的i2c_client和可能的私有数据结构。是对I2C硬件体系结构中设备端的实现,设备一般挂接在受CPU控制的I2C适配器上,通过I2C适配器与CPU交换数据。 主要数据结构:i2c_driver, i2c_client I2C框架层:i2c.h和i2c-core.c为其主体框架代码,提供了核心数据结构的定义、i2c适配器驱动和设备驱动的注册、注销管理等;i2c-dev.c用于创建i2c适配器的/dev/i2c-%d设备节点,提供i2c设备的用户空间访问方法等。 I2C总线驱动:提供硬件操作能力。i2c/busses/目录下,如i2c-msm.c。描述i2c_adapter数据结构及其具体总线通信,,适配器可由CPU控制,甚至可以直接集成在CPU内部。I2C控制驱动(总线驱动)在芯片(S3C2410)生产出来的时候生产厂商就已经写好了,且永远不变(1类芯片对应1种控制器驱动,控制器驱动就是去操作各种寄存器的值,实现标准I2C时序) 1.3 重要文件: i2c-core.c 实现I2C核心功能 以及/proc/bus/i2c*接口。 i2c-dev.c 通用设备驱动。 创建i2c适配器的/dev/i2c-%d设备节点(MAJOR=89,MINOR=0-255) 每一个I2C适配器都被分配一个client。 Busses 包含I2C总线的驱动,如S3C2410,S3C2440的控制器驱动i2c-s3c2410.c Algos 实现I2C总线适配器的algorithm. 1.4 重要函数接口与结构体 结构体: Struct i2c_adapter //描述一个i2c控制器 Struct i2c_driver //描述一个i2c设备驱动 Struct i2c_client //描
您可能关注的文档
- 冀教初一英语Lesson_13_What_are_you_doing.ppt
- 兼职教师培训之PPT课件制作.ppt
- 其他风味菜.ppt
- 冀教版三年级科学上册《观察土壤》.ppt
- 冀教版五年级上有个孩子叫咪咪乔.ppt
- 冀教Unit 2 Colours and Clothes lesson13 Shirt and Skirt 课件.ppt
- 冀教版四年级上册英语Lesson2 New and Old.ppt
- 冀教八年级下册Unit1 Spring is Coming!L5 Babysitting on a spring day(共25张PPT).ppt
- 冀教版三年级上册语文23歌唱二小放牛郎ppt课件教学课件.ppt
- 冀教版四年级英语上册Unit1_Lesson1_Skirt_and_Trousers.ppt
最近下载
- 2025年国家级检验检测机构资质认定评审员考试测试题及答案.docx
- 【国家标准】GB 50617-2010 建筑电气照明装置施工与验收规范.pdf
- 冠心病护理查房.pptx VIP
- BOSS立体声音箱CUBE-ST2使用说明书.pdf VIP
- Y·YKK·YKS和Y2系列高压三相异步电动机.pdf VIP
- 教师职业道德与专业发展(山东师范大学)知到智慧树章节答案.docx VIP
- 2.4 传感与控制 ---温度报警器 教学设计-浙教版(2019)高中信息技术必修 2.docx VIP
- 全国建材行业职工助推高质量发展主题竞赛考试题及答案.doc VIP
- 《给水排水管道工程施工及验收规范》GB50268.pdf VIP
- 小学生卫生与健康课件.ppt VIP
文档评论(0)