Linux的作業系統I2C驅動架構解說(轉)
Linux的作業系統I2C驅動架構解說(轉)[@more@] 最近因為工作需要涉及到了I2C匯流排。雖然我過去用過I2c,但看了 Linux kernel 後才發現,一個 layer 能被做到這樣完善。
1.Linux的I2C驅動架
Linux中I2C匯流排的驅動分為兩個部分,匯流排驅動(BUS)和裝置驅動(DEVICE)。其中匯流排驅動的職責,是為系統中每個I2C匯流排增加相應的讀寫方法。但是匯流排驅動本身並不會進行任何的通訊,它只是存在在那裡,等待裝置驅動呼叫其函式。
裝置驅動則是與掛在I2C匯流排上的具體的裝置通訊的驅動。透過I2C匯流排驅動提供的函式,裝置驅動可以忽略不同匯流排控制器的差異,不考慮其實現細節地與硬體裝置通訊。
1.1. 匯流排驅動
在系統開機時,首先裝載的是I2C匯流排驅動。一個匯流排驅動用於支援一條特定的I2C匯流排的讀寫。一個匯流排驅動通常需要兩個模組,一個struct i2c_adapter和一個struct i2c_algorithm來描述:
1.Linux的I2C驅動架
Linux中I2C匯流排的驅動分為兩個部分,匯流排驅動(BUS)和裝置驅動(DEVICE)。其中匯流排驅動的職責,是為系統中每個I2C匯流排增加相應的讀寫方法。但是匯流排驅動本身並不會進行任何的通訊,它只是存在在那裡,等待裝置驅動呼叫其函式。
裝置驅動則是與掛在I2C匯流排上的具體的裝置通訊的驅動。透過I2C匯流排驅動提供的函式,裝置驅動可以忽略不同匯流排控制器的差異,不考慮其實現細節地與硬體裝置通訊。
1.1. 匯流排驅動
在系統開機時,首先裝載的是I2C匯流排驅動。一個匯流排驅動用於支援一條特定的I2C匯流排的讀寫。一個匯流排驅動通常需要兩個模組,一個struct i2c_adapter和一個struct i2c_algorithm來描述:
CODE:
static struct i2c_adapter pb1550_board_adapter =
{ name: "pb1550 adapter", id: I2C_HW_AU1550_PSC, algo: NULL, algo_data: &pb1550_i2c_info, inc_use: pb1550_inc_use, dec_use: pb1550_dec_use, client_register: pb1550_reg, client_unregister: pb1550_unreg, client_count: 0, }; 來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-961249/,如需轉載,請註明出處,否則將追究法律責任。
請登入後發表評論
登入
全部評論
|
相關文章
- 詳解Linux作業系統裝置驅動相容性(轉)Linux作業系統
- 無作業系統時的裝置驅動和有作業系統時的裝置驅動作業系統
- Linux作業系統的日誌說明Linux作業系統
- 透過chroot構建Linux作業系統(轉)Linux作業系統
- 作業系統——裝置驅動和檔案系統作業系統
- Linux tty驅動程式 架構Linux架構
- 配置安全的Linux作業系統(轉)Linux作業系統
- 作業系統說明作業系統
- 基於Linux的tty架構及UART驅動詳解Linux架構
- 作業系統(二):作業系統結構作業系統
- Linux作業系統介紹(轉)Linux作業系統
- Linux作業系統核心編譯詳解(2)(轉)Linux作業系統編譯
- 詳解Linux作業系統的核心空間保護(轉)Linux作業系統
- 以 RAIDs 分析作為架構驅動力AI架構
- 精華所在 Linux作業系統7大武器詳解(轉)Linux作業系統
- Linux作業系統檔案系統的桌面應用(轉)Linux作業系統
- 紅旗Linux作業系統加速(轉)Linux作業系統
- 驅除煩惱 Windows作業系統查疑解惑(轉)Windows作業系統
- Linux系統核心模組和驅動的編寫(轉)Linux
- Linux驅動之I2C匯流排裝置以及驅動Linux
- 戲說領域驅動設計(十三)——核心架構架構
- 戲說領域驅動設計(九)——架構模式架構模式
- Linux作業系統啟動流程梳理Linux作業系統
- 讓Linux懂得為你開門—LINUX系統的自動作業控制(轉)Linux
- 作業系統結構作業系統
- 說說大型高併發高負載網站的系統架構(轉載)負載網站架構
- Linux 作業系統Linux作業系統
- Linux作業系統Linux作業系統
- Linux作業系統中的7功能詳解Linux作業系統
- 加速啟動WindowsXP作業系統的謬論(轉)Windows作業系統
- 紅旗Linux作業系統下載(轉)Linux作業系統
- 紅旗Linux作業系統安裝(轉)Linux作業系統
- 用Linux作業系統的後臺任務(轉)Linux作業系統
- Linux作業系統的高階電源管理(轉)Linux作業系統
- 活用Linux作業系統的後臺任務(轉)Linux作業系統
- RedHat Linux作業系統軟體包的管理(轉)RedhatLinux作業系統
- CpuMemSets在Linux作業系統中的實現(轉)Linux作業系統
- 【linux】Linux作業系統Linux作業系統