日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          "); //-->

          博客專欄

          EEPW首頁(yè) > 博客 > Linux kernel 使能I2C驅(qū)動(dòng)

          Linux kernel 使能I2C驅(qū)動(dòng)

          發(fā)布人:電子禪石 時(shí)間:2024-02-03 來(lái)源:工程師 發(fā)布文章

             記錄一下在kernel中使用設(shè)備樹(shù)使能I2C驅(qū)動(dòng)并在/dev目錄下顯示i2c-0節(jié)點(diǎn)的方法。


          第一步:menuconfig

                  在內(nèi)核源碼目錄下,我們先進(jìn)行圖形化界面配置,使用如下命令:

              make menuconfig

          如圖,在路徑Device Drivers > I2C support下,進(jìn)行I2C的選項(xiàng)選擇。其中第三項(xiàng):I2C device interface要記得勾選,否則在/dev目錄下不會(huì)生成I2C節(jié)點(diǎn)!






          1706952508367143.png

          設(shè)備樹(shù):

           一般使用硬件I2C的時(shí)候,原廠會(huì)在設(shè)備樹(shù)的dtsi文件中加入該節(jié)點(diǎn)的信息,但status狀態(tài)是disabled,所以我們需要在所使用的dts文件中使能該節(jié)點(diǎn)。

                  原廠寫好的節(jié)點(diǎn):

          image.png

          用戶需要自己添加的信息:

          image.png

          將狀態(tài)status賦值為okay一般就可以結(jié)束了。我這里I2C下掛了一個(gè)RTC芯片,所以我添加了RTC的節(jié)點(diǎn)。


          第三步:編譯、下載、測(cè)試

                  在kernel啟動(dòng)log中可以看到有I2C驅(qū)動(dòng)控制器打印的信息

          在系統(tǒng)中 ls /dev查看是否存在I2C節(jié)點(diǎn):
          1706952864704097.png

          可以看到,i2c-0節(jié)點(diǎn)存在,此時(shí)就可以使用open,write,read應(yīng)用函數(shù)去操作節(jié)點(diǎn)啦。


                  關(guān)鍵注意點(diǎn):menuconfig選擇配置項(xiàng)的時(shí)候,一定記得要選擇I2C device interface,否則/dev下找不到該節(jié)點(diǎn)!

          附加記錄(linux下gpio模擬i2c)

          menuconfig:

          1706952942912121.png












           設(shè)備樹(shù):

          image.png

          注意使用的gpio有沒(méi)有其他其他功能被占用,另外要添加到alise節(jié)點(diǎn)。

          gpios兩個(gè)引腳的順序:

          1706953117150863.png


          *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



          關(guān)鍵詞: I2C

          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉