加入星計劃,您可以享受以下權益:

  • 創(chuàng)作內容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • ??網(wǎng)口驅動移植的準備
    • ??驅動程序的移植及設備樹的修改
    • ??查看網(wǎng)口是否配置成功及網(wǎng)口調試
  • 相關推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

【技術分享】在M3568上移植ePort-G驅動及調試技巧

2023/02/19
1285
閱讀需 7 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

產(chǎn)品上網(wǎng)口沒有顯示?無法進行ping命令?速度拉跨?還經(jīng)常丟包?那一定是漏掉了什么細節(jié)了,看看下面操作,說不定能夠幫到你。

??網(wǎng)口驅動移植的準備

本次我們使用的平臺是致遠電子M3568系列核心板,網(wǎng)口模塊是致遠電子ePort系列的ePort-G型號產(chǎn)品,速率可達千兆,而且簡化硬件設計,縮短開發(fā)時間。

配置網(wǎng)口驅動時,我們得先了解原理圖中網(wǎng)口對應的模式以及地址,確認好用到的引腳,方便之后的設備樹配置,如下圖參考:

可以看到我們要使用的物理地址及PHY的工作模式,同時也要注意電壓的配置,與硬件工程師確認網(wǎng)口模塊所需要的IO電壓,根據(jù)需求不同去配置電源域(3.3V或1.8V)。

??驅動程序的移植及設備樹的修改

調試之前需要根據(jù)官方說明去修改drivers/net/phy下的Makefile和Kconfig,然后將官方的驅動拷貝到該目錄下?;蛘咧苯有薷腗akefile將該驅動文件編譯到內核,不修改Kconfig,這樣就不用make menuconfig去勾選上網(wǎng)口驅動。之后在RK平臺下調整設備樹部分,由于ePort-G該網(wǎng)口型號支持千兆,官方說明千兆時鐘應設為125M,如下參考(注:其他如復位引腳和設置pinctrl的引腳未寫出),根據(jù)原理圖實際配置來修改設備樹。

&gmac1 { ? ?phy-mode = "rgmii"; ? ?//PHY接口模式 ? ?clock_in_out = "output"; ? ?//時鐘輸入輸出方向,該為MAC輸出給PHY,input則相反 ? ? ? ?//設置千兆所需要的時鐘 ? ?assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>; ? ?assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&cru CLK_MAC0_2TOP>; ? ?assigned-clock-rates = <0>, <125000000>;
 ? ?//根據(jù)PCB布線不同修改值 ? ?tx_delay = <0x21>; ? ?rx_delay = <0x2f>;
 ? ?phy-handle = <&rgmii_phy0>; ? ?status = "okay";};&mdio1 { ? ?rgmii_phy1: phy@2 { ? ? ? ?compatible = "ethernet-phy-ieee802.3-c22"; ? ? ? ?reg = <7>; ? ?//PHY的物理地址,原理圖上有標出 ?  ? ?};}

之后編譯內核,查看drivers/net/phy下有無生成對應驅動的.o文件,若驅動程序在編譯過程出現(xiàn)報錯,可能要根據(jù)自己內核版本去修改官方的驅動程序,將一些沒有的函數(shù)屏蔽或替換。編譯完成后將boot.img燒錄到開發(fā)板上(內核和設備樹)。

??查看網(wǎng)口是否配置成功及網(wǎng)口調試

1. 配置檢查

進入開發(fā)板,查看sys/bus/mdio_bus/下面的drivers和devices,分別進入查看是否在devices中生成對應節(jié)點以及查看devices下的phy_id是否與驅動程序中自己網(wǎng)口型號的phy_id一致,如果沒有出現(xiàn)對應節(jié)點情況檢查設備樹中compatible的屬性,如果還不一致則將iee部分改成id+網(wǎng)口型號的phy_id。如下圖:

輸入命令ifconfig ethx dowm和ifconfig ethx up(x為網(wǎng)口號)檢查是否能正常起來,嘗試更改設置ip地址,連接網(wǎng)線進行ping命令查看可否通同一網(wǎng)段下的網(wǎng)線另一端地址。

2. 網(wǎng)口調試

在ping通外網(wǎng)之后可以嘗試使用iperf3來進行網(wǎng)絡測試,測試通過iperf3功能從板子做服務器接收速度和板子做客戶端發(fā)送速度的數(shù)據(jù)來觀測是否達到要求。如下圖:

當然,也可能存在丟包情況,這種情況需要適當?shù)恼{整MAC的tx_delay和rx_delay,也可以通過在驅動程序中調整寄存器值的方式來控制phy的tx_delay和rx_delay,一般調整MAC。通過RK平臺下中/sys/device/platform/fe….ethernet/rgmii_delay可以調試修改tx_delay和rx_delay,輸入命令echo 0x2a 0x26 > rgmii_delay(第一個延遲參數(shù)為tx,第二個為rx),修改的數(shù)值可以根據(jù)該目錄下的phy_ld_scan工具來查看。拔掉網(wǎng)線,輸入命令echo 1000?> phy_ld_scan后,如下圖所示:

有0的表示通路,根據(jù)橫(TX的延時)縱(RX的延時)坐標來觀察出TX和RX的延時應設置為多少。如果根本沒有0或者0很少的情況則考慮下硬件走線是否過長導致。

 

致遠電子

致遠電子

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術認證企業(yè),廣州市高端工控測量儀器工程技術研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術認證企業(yè),廣州市高端工控測量儀器工程技術研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。收起

查看更多

相關推薦

電子產(chǎn)業(yè)圖譜

ZLG官方賬號,一個匯聚500名工程師的研發(fā)測試分享平臺,為您提供電子世界領先的產(chǎn)品技術與行業(yè)解決方案.