0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【技術(shù)分享】在M3568上移植ePort-G驅(qū)動(dòng)及調(diào)試技巧

AGk5_ZLG_zhiyua ? 來源:未知 ? 2023-02-08 11:35 ? 次閱讀
產(chǎn)品上網(wǎng)口沒有顯示?無法進(jìn)行ping命令?速度拉跨?還經(jīng)常丟包?那一定是漏掉了什么細(xì)節(jié)了,看看下面操作,說不定能夠幫到你。


??網(wǎng)口驅(qū)動(dòng)移植的準(zhǔn)備

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

配置網(wǎng)口驅(qū)動(dòng)時(shí),我們得先了解原理圖中網(wǎng)口對(duì)應(yīng)的模式以及地址,確認(rèn)好用到的引腳,方便之后的設(shè)備樹配置,如下圖參考:

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

??驅(qū)動(dòng)程序的移植及設(shè)備樹的修改

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

&gmac1 {
phy-mode = "rgmii"; //PHY接口模式
clock_in_out = "output"; //時(shí)鐘輸入輸出方向,該為MAC輸出給PHY,input則相反

//設(shè)置千兆所需要的時(shí)鐘
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的物理地址,原理圖上有標(biāo)出
};
}

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


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

1. 配置檢查

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

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

2. 網(wǎng)口調(diào)試

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

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

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


技術(shù)交流
長(zhǎng)按識(shí)別如下二維碼可加入“工控板/核心板交流群”,與志同道合的朋友交流,并有專業(yè)技術(shù)人員為您答疑解惑,如有問題可以咨詢小致微信zlgmcu-888。

該二維碼7天內(nèi)(2月13日前)有效


原文標(biāo)題:【技術(shù)分享】在M3568上移植ePort-G驅(qū)動(dòng)及調(diào)試技巧

文章出處:【微信公眾號(hào):ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 致遠(yuǎn)電子
    +關(guān)注

    關(guān)注

    13

    文章

    402

    瀏覽量

    31201

原文標(biāo)題:【技術(shù)分享】在M3568上移植ePort-G驅(qū)動(dòng)及調(diào)試技巧

文章出處:【微信號(hào):ZLG_zhiyuan,微信公眾號(hào):ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Openharmony軟件評(píng)估指南-米爾瑞芯微RK3568開發(fā)板

    Openharmony軟件評(píng)估指南用于介紹米爾的開發(fā)板運(yùn)行Openharmony系統(tǒng)下的核心資源與外設(shè)資源的測(cè)試步驟與評(píng)估方法。本文可作為前期評(píng)估指南使用,也可以作為通用系統(tǒng)開發(fā)的測(cè)試指導(dǎo)書
    發(fā)表于 09-06 20:06

    混合部署 | RK3568同時(shí)部署RT-Thread和Linux系統(tǒng)-迅為電子

    混合部署 | RK3568同時(shí)部署RT-Thread和Linux系統(tǒng)-迅為電子
    的頭像 發(fā)表于 09-06 15:32 ?175次閱讀
    混合部署 | <b class='flag-5'>在</b>RK<b class='flag-5'>3568</b><b class='flag-5'>上</b>同時(shí)部署RT-Thread和Linux系統(tǒng)-迅為電子

    【米爾-國(guó)產(chǎn)瑞芯微RK3568開發(fā)板試用體驗(yàn)】評(píng)測(cè)一 系統(tǒng)配置

    :NameMYB-LR3568X-EMYD-LR3568B2-16E2D-200-EMYC-LR3568 區(qū)別PCB底板開發(fā)板包裝袋核心板 二、燒錄 以前安卓機(jī)可以USB刷機(jī)和TF卡刷機(jī),同樣本次的RK3568B2同樣可以進(jìn)行線刷和卡刷。
    發(fā)表于 08-25 11:52

    鴻蒙OpenHarmony南向/北向快速開發(fā)教程-迅為RK3568開發(fā)板

    的小白還是資大佬,都能在這里找到屬于自己的成長(zhǎng)路徑。 對(duì)于初學(xué)者來說,南向和北向?qū)W習(xí)教程可是關(guān)鍵哦!南向,是深入硬件底層;北向,則是與上層應(yīng)用交互,玩轉(zhuǎn)各功能的舞臺(tái)。那么,如何在RK3568玩轉(zhuǎn)南向和北
    發(fā)表于 07-23 10:44

    RK3568安裝RT-Thread,根據(jù)板級(jí)支持包操作時(shí)遇到的疑問求解

    我想在RK3568安裝RT-Thread,根據(jù)板級(jí)支持包操作時(shí),遇到了一些疑問,大佬求教! 我已經(jīng)完成了編譯部分,生成了rtthread.elf與rtthread.bin文件 請(qǐng)問燒錄進(jìn)SD
    發(fā)表于 03-01 06:23

    迅為RK3568開發(fā)板驅(qū)動(dòng)開發(fā)指南-輸入子系統(tǒng)

    迅為RK3568開發(fā)板驅(qū)動(dòng)開發(fā)指南-輸入子系統(tǒng)
    的頭像 發(fā)表于 02-23 15:11 ?590次閱讀
    迅為RK<b class='flag-5'>3568</b>開發(fā)板<b class='flag-5'>驅(qū)動(dòng)</b>開發(fā)指南-輸入子系統(tǒng)

    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)

    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)
    的頭像 發(fā)表于 02-20 14:10 ?489次閱讀
    RK<b class='flag-5'>3568</b><b class='flag-5'>驅(qū)動(dòng)</b>指南|<b class='flag-5'>驅(qū)動(dòng)</b>基礎(chǔ)進(jìn)階篇-進(jìn)階5 自定義實(shí)現(xiàn)insmod命令實(shí)驗(yàn)

    M3568多屏同顯異顯應(yīng)用實(shí)例

    M3568-T核心板多屏同顯、異顯技術(shù),提升效率與安全性。車載領(lǐng)域?qū)崿F(xiàn)安全駕駛與娛樂并行;工業(yè)領(lǐng)域做到實(shí)時(shí)監(jiān)控和快速響應(yīng)。M3568-EV-Board評(píng)估板(如圖1所示)是致遠(yuǎn)電子精心推出的集工控
    的頭像 發(fā)表于 02-20 08:23 ?439次閱讀
    <b class='flag-5'>M3568</b>多屏同顯異顯應(yīng)用實(shí)例

    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階8 內(nèi)核運(yùn)行ko文件總結(jié)

    RK3568驅(qū)動(dòng)指南|驅(qū)動(dòng)基礎(chǔ)進(jìn)階篇-進(jìn)階8 內(nèi)核運(yùn)行ko文件總結(jié)
    的頭像 發(fā)表于 01-31 14:58 ?952次閱讀
    RK<b class='flag-5'>3568</b><b class='flag-5'>驅(qū)動(dòng)</b>指南|<b class='flag-5'>驅(qū)動(dòng)</b>基礎(chǔ)進(jìn)階篇-進(jìn)階8 內(nèi)核運(yùn)行ko文件總結(jié)

    RK3568-GDB程序調(diào)試方法說明

    RK3568-GDB程序調(diào)試方法說明
    的頭像 發(fā)表于 01-19 16:16 ?1490次閱讀
    RK<b class='flag-5'>3568</b>-GDB程序<b class='flag-5'>調(diào)試</b>方法說明

    stm32必須要移植系統(tǒng)嗎

    電子等。使用STM32進(jìn)行開發(fā)時(shí),是否需要進(jìn)行系統(tǒng)移植是一個(gè)常見的問題。 系統(tǒng)移植是指將操作系統(tǒng)或者驅(qū)動(dòng)程序從一個(gè)硬件平臺(tái)移植到另一個(gè)硬件
    的頭像 發(fā)表于 01-08 14:17 ?647次閱讀

    Android ART玄鐵C910移植和性能優(yōu)化

    在過去的3年里,我們玄鐵C910分別移植了Android 10和Android 12,ART我們也做了一些更加深入的優(yōu)化。
    的頭像 發(fā)表于 11-16 09:43 ?1264次閱讀
    Android ART<b class='flag-5'>在</b>玄鐵C910<b class='flag-5'>上</b>的<b class='flag-5'>移植</b>和性能優(yōu)化

    【風(fēng)火輪YY3568開發(fā)板免費(fèi)體驗(yàn)】+ YY3568安裝運(yùn)行Unity的自制游戲教程范例

    。 插上USB數(shù)據(jù)線,YY3568設(shè)置開發(fā)者選項(xiàng)-USB調(diào)試等設(shè)置項(xiàng); 開發(fā)電腦,用a
    發(fā)表于 11-14 11:44

    TQ3568開發(fā)平臺(tái)如何測(cè)試4G模塊

    由于TQ3568CoreB板卡測(cè)試4G模塊時(shí),需接上USB4G模塊,如下圖所示:一、/掉電4G
    的頭像 發(fā)表于 10-19 16:02 ?907次閱讀
    TQ<b class='flag-5'>3568</b>開發(fā)平臺(tái)如何測(cè)試4<b class='flag-5'>G</b>模塊

    標(biāo)準(zhǔn)系統(tǒng):優(yōu)博終端3568工控(RK3568

    開發(fā)板名稱(芯片型號(hào)) 優(yōu)博終端3568工控(RK3568) 芯片架構(gòu) CPU頻率 介紹(字?jǐn)?shù)請(qǐng)控制200字以內(nèi)) UB3568-G 開發(fā)板基于 Rockchip RK
    發(fā)表于 10-19 11:00