RK28-Linux I2C使用說明

來源:互聯網
上載者:User

RK28-Linux I2C使用說明

目 錄

一、 版本號碼和版本說明... 2

二、 模組功能描述... 2

三、 模組軟體設計思路... 2

四、 模組主體流程... 2

五、 系統資源佔用情況... 2

六、 目錄和檔案說明... 2

七、 介面函數說明和注意事項... 2

八、 遺留問題... 2

一、 版本號碼和版本說明

本文給出了linux下I2C驅動的調用使用方法

二、 模組功能描述

I2C匯流排的驅動在linux上分多層,程式和資料結構較為複雜,這裡不作介紹,只介紹在I2C匯流排上掛載裝置驅動的基本方法,便於使用。

1、 添加裝置描述符

將您的I2C裝置資訊描述統一添加在board-rk28.c檔案的board_i2c_devices結構中。必要的包括驅動名,所屬類等。驅動名的字串要和驅動中的名稱對應。

2、添加驅動

以I2C裝置asb100為例如,使用i2c_add_driver函數將一個裝置驅動搭載到I2C匯流排上,並定義改模組的初始化資訊等:

3、驅動描述

其中的asb100_driver即是註冊的I2C匯流排裝置上的一個裝置驅動描述,其初始化為如下,啟動的DR驅動名.name應和簽名前面註冊的裝置驅動名一致,其中attach函數和detach函數是探測和移除裝置的函數,使用者可註冊該函數並在其中進行裝置的探測,初始化和私人資料的初始化。

4、裝置探測

attach_adapter函數參考下列寫法,其中addr_data中是包含了normal_i2c的裝置地址,其地址通常是8位地址經過右移1位的7位地址,i2c_probe的第三個函數是模組的私人探測函數,可在該函數中初始化私人的client資料等。

5、裝置的client初始化

在設定client資料時,有三個成員需要注意,如

分別是位址區段,訪問模式和通道,其中地址位段有四種如下:

I2C_7BIT_ADDRESS_8BIT_REG —— 7位地址8位元據

I2C_10BIT_ADDRESS_16BIT_REG, —— 10位地址16位元據

I2C_10BIT_ADDRESS_8BIT_REG, —— 10位地址8位元據

I2C_7BIT_ADDRESS_16BIT_REG —— 7位地址16位元據

訪問模式有三種:nomal,direct,register

通道有兩種:0和1。

如果未設定這三個參數,則預設為Normal模式7位地址8位元據訪問0通道。

i2c_set_clientdata函數是將裝置驅動的私人資料連線到裝置client中。

6、讀寫訪問函數

完成以上初始化,即可對註冊的I2C裝置進行讀寫,一個一般的讀寫函數寫法如,其中client位裝置對應的I2C client,reg為寄存器地址,buf為讀寫到的資料指標,len為位元組數。

除了使用i2c_transfer函數進行讀寫封裝操作外,也可以使用i2c_master_recv,i2c_master_send等進行收發,需要注意的是,當資料為16bit時,不要使用smbus系列介面進行讀寫,也使用以上提供的方法進行讀寫,只是讀寫的資料分為高低位元組進行。

有了以上介面,基本上一般的裝置即可使用,限於作者水平有限,如有錯誤和紕漏望指正,後續進行升級最佳化。

三、 模組軟體設計思路

描述模組軟體的設計思路

四、 模組主體流程

用流程圖畫出模組內部主體流程

五、 系統資源佔用情況

描述模組使用的 堆/棧 使用方式和RO/RW/ZI 空間、硬體資源使用方式、調用系統函數和驅動軟體的介面情況。

六、 目錄和檔案說明

說明模組內部各個目錄和檔案的功能

七、 介面函數說明和注意事項

說明介面函數的調用方式和注意事項

八、 遺留問題

描述設計中的遺留問題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.