国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ElfBoard技術貼|如何在【RK3588】ELF 2開發板實現I2C功能復用

ElfBoard ? 2025-12-04 10:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

IOMUX(引腳功能復用)是一項關鍵硬件設計技術,旨在幫助芯片廠商更高效地利用有限的引腳資源。它借助內部寄存器,允許開發者通過軟件將同一物理引腳靈活配置為多種不同功能,例如GPIO、UARTI2C等。由于此項配置的具體實現因SoC平臺而異,本文特以【RK3588】ELF 2開發板上的I2C6引腳為例,系統說明從硬件規格查詢到軟件驅動配置的完整步驟。

1.引腳確認

在開始配置之前,首先需要了解【RK3588】ELF 2開發板的接口布局特點。ELF 2開發板的40Pin 2.54mm連接器兼容樹莓派40Pin連接器,集成了I2C、SPI、UART等常用通信接口及多路GPIO;而20Pin 2.54mm連接器則額外引出40Pin連接器未涵蓋的接口或拓展接口,包括SARADC、PWM和GPIO等。

引腳選擇原則:進行引腳復用時,應優先選擇40Pin或20Pin連接器上的引腳,這類引腳位于開發板標準排針接口,無需額外焊接,接線更加便捷。

1.1查看引腳復用表

引腳復用表路徑:ELF 2開發板資料包\05-硬件資料\05-4 管腳分配表

打開引腳復用表后,可以看到Alt0~Alt9列是引腳的核心復用功能區,這10列分別代表該引腳可配置的10種備選功能(部分未啟用列可能為空)。在表格中搜索"I2C6",所有Alt列中包含"I2C6"的行都會被篩選出來。

雖然支持復用為I2C6功能的引腳很多,但結合"優先選擇40Pin或20Pin連接器引腳"的原則,最終選定P4_38和P4_40引腳:其中P4_38復用為I2C6_SCL_M4功能,P4_40復用為I2C6_SDA_M4功能。

wKgZPGkw6M2AXKaXAABzelzXgZk086.png

1.2匹配開發板引腳

硬件原理圖路徑:ELF 2開發板資料包\05-硬件資料\05-0 PDF原理圖

從硬件原理圖可知,【RK3588】ELF 2開發板共使用4個連接器,其中"P4"代表第4號連接器。需要先定位到該連接器,再查找其38號和40號引腳。

P4_38引腳對應開發板功能:GPIO2_C4--GPIO3_A1(左側GPIO2_C4為3576開發板引腳功能,右側GPIO3_A1為3588芯片引腳功能)

P4_40引腳對應開發板功能:GPIO2_C3--GPIO3_A0(左側GPIO2_C3為3576開發板引腳功能,右側GPIO3_A0為3588芯片引腳功能)

wKgZPGkw6neAX_VxAASWRpoRQow518.png

1.3定位開發板物理位置

核心板的功能引腳通過連接器傳輸到底板,下面需要確認目標引腳在底板上的具體物理接口位置。

在原理圖中分別搜索GPIO2_C4--GPIO3_A1和GPIO2_C3--GPIO3_A0網絡標號:

GPIO2_C4--GPIO3_A1(P4_38引腳對應的網絡標號)對應開發板P26接口的32引腳。

GPIO2_C3--GPIO3_A0(P4_40引腳對應的網絡標號)對應開發板P26接口的35引腳。

wKgZPGkw6rKAEKRUAAQtjberXgY256.png

2.源碼適配

在完成硬件引腳確認后,接下來需要進行軟件層面的配置工作,主要包括設備樹中的IOMUX配置和設備節點配置。

2.1IOMUX配置

確定引腳后,需要在設備樹中配置IOMUX參數以確保引腳正確工作在I2C6模式。打開以下文件:

kernel/arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi

找到UART3相關定義,其中uart3m1_xfer節點已明確配置GPIO3_A1(I2C6_SCL_M4)和GPIO3_A0(I2C6_SDA_M4)的復用參數,配置內容如下:

wKgZO2kw6x6ANI-sAAE5Cn1sK2M333.png

2.2設備節點配置

完成IOMUX配置后,需要在設備樹中啟用I2C6設備節點。打開以下文字文件 :

kernel/arch/arm64/boot/dts/rockchip/elf2-3588-common.dtsi

添加I2C6節點引用,指定引腳配置為i2c6m4_xfer,啟用節點功能,并在該節點下添加光線傳感器設備,配置如下:

&i2c6 { status = "okay"; pinctrl-0 = <&i2c6m4_xfer>; bh1750:bh1750@23 { compatible = "elfboard,bh1750"; reg = <0x23>; status = "okay"; }; };

wKgZPGkw60KAL69aAACctNZykO8093.png


2.3編譯

配置完成后,需要重新編譯內核以生成包含新配置的鏡像文件。

執行編譯命令,生成內核鏡像:

elf@ubuntu:~/work/ELF2-linux-source$./build.sh kernel

編譯完成后,將在 kernel 目錄下生成 boot.img 內核鏡像文件。


3.燒錄與驗證

編譯生成新的內核鏡像后,需將其燒錄到開發板并完成基礎驗證。

1.將kernel目錄下生成的boot.img內核鏡像文件燒錄到開發板。

2.開發板啟動后,/dev目錄會自動生成I2C6對應的設備節點i2c-6,通過以下命令驗證節點是否存在:

root@elf2-buildroot:~#ls/dev/i2c-*

wKgZPGkw7BKAc92FAAAUwMje3Jc093.png


4.功能測試

4.1測試準備

1.測試驅動、測試應用下載

https://forlinx-book.yuque.com/umxagc/vzgvcx/xoclfmmeispbak3h

2.硬件引腳連接(左邊為光線傳感器引腳,右邊為【RK3588】ELF 2開發板引腳):

SDA-------I2C6--SDA(P26的35引腳)

SCL--------I2C6--SCL(P26的32引腳)

VCC-------3.3V(P26的1引腳)

GND-------GND(P26的6引腳)

光線傳感器與【RK3588】ELF 2開發板連接如圖:

wKgZO2kw7ECAP0OaAA85mEjZ9Wc044.png


4.2編譯驅動模塊

將驅動文件(bh1750.c、Makefile)、應用文件(bh1750app.c)復制到開發環境的/home/elf/work路徑下。

4.2.1修改Makefile

配置環境變量,在終端執行以下命令,添加交叉編譯工具鏈路徑:

elf@ubuntu:~/work$exportPATH=$PATH:/home/elf/aarch64-buildroot-linux-gnu_sdk-buildroot/usr/bin

打開Makefile文件進行如下修改:

wKgZO2kw7F2AIWNhAAD1QFfvm2M058.png

將1處替換為Linux kernel所在路徑。

將2、3處替換為交叉編譯工具前綴/home/elf/aarch64-buildroot-linux-gnu_sdk-buildroot/bin/aarch64-linux-。

4.2.2編譯驅動

在/home/elf/work目錄下執行make命令,生成bh1750.ko驅動模塊:

elf@ubuntu:~/work$make

wKgZO2kw7HuAMXqnAADUvp_rX2Y079.png

4.3編譯測試APP

執行交叉編譯命令,生成可執行文件:

elf@ubuntu:~/work$ aarch64-linux-gcc bh1750app.c -o bh1750app elf@ubuntu:~/work$ file bh1750app

wKgZPGkw7KaAA2O7AABlBOzNb3s686.png

通過file命令確認應用為ARM架構(支持開發板運行)。

4.4開發板測試

將bh1750.ko驅動模塊和bh1750app應用通過U盤拷貝至開發板/root目錄。

執行以下命令加載驅動,生成設備節點/dev/bh1750:

root@elf2-buildroot:~# insmod bh1750.ko [ 231.934533] bh1750: loading out-of-tree module taints kernel. [ 232.139143] rk3x-i2c fec80000.i2c: timeout, ipd: 0x90, state: 3 root@elf2-buildroot:~# [ 232.139288] rk3x-i2c fec80000.i2c: SCL hold by slave, check your device. root@elf2-buildroot:~# ls /dev/bh1750 /dev/bh1750

運行測試應用,執行應用程序讀取光線傳感器數值:

root@elf2-buildroot:~# ./bh1750app /dev/bh1750

wKgZO2kw7NWAMitHAAALR9JXA7w888.png

通過上述步驟操作,即可完成【RK3588】ELF 2開發板的I2C功能復用配置。本文旨在為各位嵌入式開發愛好者提供切實可行的操作參考,若在實際調試過程中遇到任何問題,歡迎隨時交流探討。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6074

    文章

    45368

    瀏覽量

    664674
  • 嵌入式
    +關注

    關注

    5189

    文章

    20192

    瀏覽量

    329565
  • 開發板
    +關注

    關注

    26

    文章

    6161

    瀏覽量

    114184
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    瑞芯微RK3588開發板RK3588 EVB和RK3588S EVB解讀

    瑞芯微RK3588開發板RK3588 EVB和RK3588S EVB解讀 瑞芯微旗艦芯RK3588系列
    的頭像 發表于 09-22 15:54 ?2.2w次閱讀
    瑞芯微<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b><b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解讀

    ElfBoard技術|如何在RK3588ELF 2開發板上進行根系統的定制

    ELF 2開發板已經適配了Linux 5.10及Elf2 Desktop 22.04操作系統,其中Elf2 Desktop 22.04系統是
    的頭像 發表于 07-02 16:33 ?2778次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>上進行根系統的定制

    技術|【RK3588ELF 2開發板如何添加exFAT和NTFS文件系統格式

    基于RK3588設計的ELF2開發板在搭載Desktop22.04系統時,對TF卡的文件系統支持存在以下限制:不支持exFAT格式;支持NTFS格式,但需手動掛載;針對上述兼容性問題,本文將介紹
    的頭像 發表于 08-27 17:21 ?3252次閱讀
    <b class='flag-5'>技術</b><b class='flag-5'>貼</b>|【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>如何添加exFAT和NTFS文件系統格式

    ElfBoard技術|如何在RK3588ELF 2開發板上進行UART引腳復用配置

    IOMUX(引腳功能復用)是芯片廠商為高效利用有限硬件引腳資源而設計的關鍵技術,它允許單個物理引腳通過軟件配置為多種不同的功能(如GPIO、UART、
    的頭像 發表于 11-18 16:54 ?5144次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>上進行UART引腳<b class='flag-5'>復用</b>配置

    RK3588 EVB開發板原理圖講解【八】 RK3588 power Tree

    GPU負載高時自動通知RK860-2調高CPU電壓 RK3588 Power Tree完整版圖太大,截圖看不完,需要的可以下載附件完成版。 RK3588 EVB開發板原理圖 往
    發表于 03-01 11:38

    RK3588 EVB 開發板介紹

    S EVB在接口及開發板尺寸上進行了優化,尺寸為20cmX14cm,適用于高端平板、AR/VR、個人移動互聯網設備等產品。圖:RK3588S EVB 系統框圖 RK3588S同樣配備RK806
    發表于 03-16 16:39

    Firefly-RK3128主板I2C控制器

    Firefly-RK3128 開發板上有 4 個片上 I2C 控制器。本文主要描述如何在開發板上配置
    的頭像 發表于 11-29 08:47 ?2022次閱讀
    Firefly-<b class='flag-5'>RK</b>3128主板<b class='flag-5'>I2C</b>控制器

    迅為RK3588開發板-基于瑞芯微RK3588攝像頭方案

    RK3588開發板
    的頭像 發表于 06-09 11:09 ?7073次閱讀
    迅為<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>-基于瑞芯微<b class='flag-5'>RK3588</b>攝像頭方案

    rk3588有哪些開發板

    rk3588有哪些開發板 當前,rk3588開發板有RockPro64、Rock960 Plus、Rockchip Sapphire、Khadas VIM3 Pro和Firefly
    的頭像 發表于 08-15 17:04 ?3654次閱讀

    迅為iTOP-RK3588開發板Buildroot系統功能測試

    迅為iTOP-RK3588開發板Buildroot系統功能測試
    的頭像 發表于 03-14 15:42 ?3352次閱讀
    迅為iTOP-<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>Buildroot系統<b class='flag-5'>功能</b>測試

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發板

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發板
    的頭像 發表于 08-30 14:13 ?2021次閱讀
    <b class='flag-5'>RK3588</b>!黑神話悟空,啟動?-迅為電子<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>

    玩轉RK3588開發板基于connector-split 功能實現多屏聯動

    玩轉RK3588開發板基于connector-split 功能實現多屏聯動
    的頭像 發表于 12-02 16:05 ?1383次閱讀
    玩轉<b class='flag-5'>RK3588</b><b class='flag-5'>開發板</b>基于connector-split <b class='flag-5'>功能</b><b class='flag-5'>實現</b>多屏聯動

    ElfBoard技術|【RK3588ELF 2開發板開機自啟動詳解

    在嵌入式系統開發中,合理管理開機自啟動項目能夠優化系統啟動流程,確保關鍵服務和應用按時加載運行。本文將詳細介紹在ELF2開發板Linux5.10.209系統下基于SystemVinit服務管理機制
    的頭像 發表于 06-27 16:20 ?1825次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>開機自啟動詳解

    ElfBoard技術|如何在RK3588ELF 2開發板用戶空間更換開機Logo

    ,提升了開發與調試效率。一、添加Logo分區elf@ubuntu:~/work/ELF2-linux-source$videvice/rockchip/.chip
    的頭像 發表于 10-29 11:12 ?1011次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>技術</b><b class='flag-5'>貼</b>|如<b class='flag-5'>何在</b>【<b class='flag-5'>RK3588</b>】<b class='flag-5'>ELF</b> <b class='flag-5'>2</b><b class='flag-5'>開發板</b>用戶空間更換開機Logo

    基于迅為RK3588開發板實現高性能機器狗主控解決方案-?AI能力實戰:YOLOv5目標檢測例程

    基于迅為RK3588開發板實現高性能機器狗主控解決方案-?AI能力實戰:YOLOv5目標檢測例程
    的頭像 發表于 11-28 11:32 ?1191次閱讀
    基于迅為<b class='flag-5'>RK3588</b><b class='flag-5'>開發板實現</b>高性能機器狗主控解決方案-?AI能力實戰:YOLOv5目標檢測例程