Linux下i2c體系結構

linux下i2c體系結構大致可以分為三層:

1,i2c總線驅動層(硬件實現層),該層通過i2c時序控制數據的傳輸,主要包含i2c適配器數據結構i2c_adapter,i2c適配器的algorithm數據結構。是和i2c控制器直接打交道的一層。

2,i2c核心層,該層次為具體的設備驅動提供註冊註銷方法,通訊方法,方便具體驅動程序的編寫。常用接口如下:

EXPORT_SYMBOL(i2c_add_adapter);

EXPORT_SYMBOL(i2c_del_adapter);

EXPORT_SYMBOL(i2c_del_driver);

EXPORT_SYMBOL(i2c_attach_client);

EXPORT_SYMBOL(i2c_detach_client);

EXPORT_SYMBOL(i2c_transfer);

3,i2c設備驅動層

主要為應用程序提供文件操作接口,例如open,read,write, ioctl等

Linux下i2c體系結構

更詳細的分層結構如下圖

Linux下i2c體系結構


分享到:


相關文章: