<ul id="gu0q4"></ul>
  • <strike id="gu0q4"><abbr id="gu0q4"></abbr></strike>
    <strike id="gu0q4"><menu id="gu0q4"></menu></strike>
    <samp id="gu0q4"><tfoot id="gu0q4"></tfoot></samp>
    <samp id="gu0q4"><tfoot id="gu0q4"></tfoot></samp>
    • <samp id="gu0q4"></samp>

      技術(shù)貼|如何在【RK3588】ELF 2開發(fā)板上進(jìn)行UART引腳復(fù)用配置原創(chuàng)

      發(fā)布時(shí)間:2025-11-24 15:18:20
      IOMUX RK3588

      IOMUX(引腳功能復(fù)用)是芯片廠商為高效利用有限硬件引腳資源而設(shè)計(jì)的關(guān)鍵技術(shù),它允許單個(gè)物理引腳通過軟件配置為多種不同的功能(如GPIO、UART、I2C等)。不同SoC芯片的配置方式各異,本文將以【RK3588】ELF 2開發(fā)板的UART3引腳為例,詳細(xì)闡述從硬件查找到軟件配置的完整流程。

      ?

      一、引腳確認(rèn)

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

      ?

      引腳選擇原則:進(jìn)行引腳復(fù)用時(shí),應(yīng)優(yōu)先選擇40Pin或20Pin連接器上的引腳,這類引腳位于開發(fā)板標(biāo)準(zhǔn)排針接口,無需額外焊接,接線更加便捷。

      ?

      1.1查看引腳復(fù)用表

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

      ?

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

      ?

      雖然支持復(fù)用為UART3功能的引腳很多,但結(jié)合"優(yōu)先選擇40Pin或20Pin連接器引腳"的原則,最終選定P4_46和P4_37引腳:其中P4_46復(fù)用為UART3_TX_M1功能,P4_37復(fù)用為UART3_RX_M1功能。

      ?

      1.2匹配開發(fā)板引腳

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

      ?

      從硬件原理圖可知,ELF 2開發(fā)板共使用4個(gè)連接器,其中"P4"代表第4號(hào)連接器。需要先定位到該連接器,再查找其46號(hào)和37號(hào)引腳。

      ?

      P4_46引腳對(duì)應(yīng)開發(fā)板功能:GPIO2_D0--GPIO3_B5(左側(cè)GPIO2_D0為3576開發(fā)板引腳功能,右側(cè)GPIO3_B5為3588芯片引腳功能)。

      ?

      P4_37引腳對(duì)應(yīng)開發(fā)板功能:GPIO2_D7--GPIO3_B6(左側(cè)GPIO2_D7為3576開發(fā)板引腳功能,右側(cè)GPIO3_B6為3588芯片引腳功能)。

      ?

      1.3定位開發(fā)板物理位置

      核心板的功能引腳通過連接器傳輸?shù)降装?,下面需要確認(rèn)目標(biāo)引腳在底板上的具體物理接口位置。

      ?

      在原理圖中分別搜索GPIO2_D0--GPIO3_B5和GPIO2_D7--GPIO3_B6網(wǎng)絡(luò)標(biāo)號(hào):

      GPIO2_D0--GPIO3_B5(P4_46引腳對(duì)應(yīng)的網(wǎng)絡(luò)標(biāo)號(hào))對(duì)應(yīng)開發(fā)板P26接口的11引腳。

      GPIO2_D7--GPIO3_B6(P4_37引腳對(duì)應(yīng)的網(wǎng)絡(luò)標(biāo)號(hào))對(duì)應(yīng)開發(fā)板P26接口的29引腳。

      ?

      二、源碼適配

      在完成硬件引腳確認(rèn)后,接下來需要進(jìn)行軟件層面的配置工作,主要包括設(shè)備樹中的IOMUX配置和設(shè)備節(jié)點(diǎn)配置。

      ?

      2.1IOMUX配置

      確定引腳后,需要在設(shè)備樹中配置IOMUX參數(shù)以確保引腳正確工作在UART3模式。打開以下文件,找到UART3相關(guān)定義,其中uart3m1_xfer節(jié)點(diǎn)已明確配置GPIO3_B6(UART3_RX_M1)和GPIO3_B5(UART3_TX_M1)的復(fù)用參數(shù),配置內(nèi)容如下:

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

      ?

      2.2設(shè)備節(jié)點(diǎn)配置

      完成IOMUX配置后,需要在設(shè)備樹中啟用UART3設(shè)備節(jié)點(diǎn)。打開以下文件,添加UART3節(jié)點(diǎn)引用,指定引腳配置為uart3m1_xfer,啟用節(jié)點(diǎn)功能,配置如下:

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

      ?

      2.3

      配置完成后,需要重新編譯內(nèi)核以生成包含新配置的鏡像文件。執(zhí)行編譯命令,生成內(nèi)核鏡像:

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

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

      ?

      三、燒錄與驗(yàn)證

      編譯生成新的內(nèi)核鏡像后,下一步是將其燒錄到開發(fā)板并進(jìn)行驗(yàn)證。將kernel目錄下生成的boot.img內(nèi)核鏡像文件燒錄到開發(fā)板。

      ?

      開發(fā)板啟動(dòng)后,在/dev目錄下會(huì)生成UART3對(duì)應(yīng)的設(shè)備節(jié)點(diǎn)ttyS3,可通過以下命令驗(yàn)證:

      root@elf2-buildroot:~#?ls?/dev/ttyS3

      ?

      四、功能測(cè)試

      確認(rèn)設(shè)備節(jié)點(diǎn)生成后,需要進(jìn)行完整的功能測(cè)試以確保UART3正常工作。

      ?

      4.1測(cè)試準(zhǔn)備

      注意事項(xiàng):UART引腳電平范圍為0~3.3V,嚴(yán)禁接入超過3.3V的電壓,避免硬件損壞。

      ?

      測(cè)試工具路徑:ELF 2開發(fā)板資料包\06-常用工具\(yùn)06-4 測(cè)試工具\(yùn)SerialTool1.4.0a_Win32_Setup.zip

      ?

      硬件連接:通過TTL轉(zhuǎn)USB模塊連接開發(fā)板與電腦,按照模塊引腳定義對(duì)應(yīng)連接 UART3_TX、UART3_RX 、VCC以及GND。

      ?

      TTL轉(zhuǎn)USB模塊與【RK3588】ELF 2開發(fā)板硬件連接如圖:

      ?

      4.2串口參數(shù)配置

      開發(fā)板上電后,在電腦設(shè)備管理器中查看TTL轉(zhuǎn)USB模塊識(shí)別的COM口(示例為 COM26,以實(shí)際識(shí)別準(zhǔn))。

      打開電腦串口工具,選擇端口COM26、設(shè)置波特率115200,點(diǎn)擊藍(lán)色端口設(shè)置圖標(biāo)進(jìn)行設(shè)置,8位數(shù)據(jù)位、1位停止位、無校驗(yàn)、無流控制,點(diǎn)擊OK,點(diǎn)擊綠色圖標(biāo)打開串口。

      ?

      4.3發(fā)送數(shù)據(jù)測(cè)試

      在開發(fā)板終端執(zhí)行以下命令,自動(dòng)發(fā)送測(cè)試數(shù)據(jù) “aabbccddeeff”:

      root@elf2-buildroot:~# cmddemo_serialport ttyS3 -o -b?115200?-t aabbccddeeff?1baudrate=115200,data_bit=8,stop_bit=1,check='O'set?done![nwrite=12] aabbccddeeff ? ? ? //發(fā)送的數(shù)據(jù)

      命令執(zhí)行后,串口工具會(huì)持續(xù)接收該測(cè)試數(shù)據(jù),可在接收區(qū)查看結(jié)果。

      ?

      4.4接收數(shù)據(jù)測(cè)試

      在開發(fā)板終端執(zhí)行以下命令,啟動(dòng)接收模式:

      root@elf2-buildroot:~# cmddemo_serialport ttyS3 -b 115200

      在串口工具的發(fā)送區(qū)輸入測(cè)試數(shù)據(jù)(示例為 “abcdefg”),點(diǎn)擊發(fā)送:

      ?

      開發(fā)板終端會(huì)顯示接收到的數(shù)據(jù):

      root@elf2-buildroot:~# cmddemo_serialport ttyS3 -b 115200baudrate=115200,data_bit=8,stop_bit=1,check='N'set?done![nread=7] abcdefg ? ? ? ??//接收到的數(shù)據(jù)

      ?

      通過以上步驟,即可完成【RK3588】ELF 2開發(fā)板上UART3引腳復(fù)用的配置與功能驗(yàn)證。這一流程確保了硬件資源得到正確配置,軟件功能正常運(yùn)作,為后續(xù)的串口通信應(yīng)用奠定了堅(jiān)實(shí)基礎(chǔ)。

      ?

      其它推薦:

      推薦閱讀:

      /* 53客服*/ /* 百度統(tǒng)計(jì)*/ /* 百度站長(zhǎng)*/
      <ul id="gu0q4"></ul>
    • <strike id="gu0q4"><abbr id="gu0q4"></abbr></strike>
      <strike id="gu0q4"><menu id="gu0q4"></menu></strike>
      <samp id="gu0q4"><tfoot id="gu0q4"></tfoot></samp>
      <samp id="gu0q4"><tfoot id="gu0q4"></tfoot></samp>
      • <samp id="gu0q4"></samp>