一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

基于RV1126開發(fā)板修改Ethernet內核設備樹

ljx2016 ? 來源:ljx2016 ? 作者:ljx2016 ? 2025-04-17 10:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. PHY芯片簡介

wKgZO2gAZ9KARJCqAABK2urpQSA017.png

phy:工作在網絡模型的物理層,是IEEE802.3規(guī)定的一個標準模塊。IEEE802.3規(guī)定了 地址0~15共16個通用寄存器,只要配置好這些通用寄存器就能保證phy芯片正常工作。16~31地址的寄存器有廠家自行定義。

mac:工作在網絡模型的數據鏈路層,通過rgmii或rmii接口連接phy,mac控制器中的mdio控制器提供mdio接口,用于訪問phy寄存器。

MDIO:Management Data Input/Output的縮寫。MDIO接口包含在IEEE802.3協(xié)議中,是專用于MAC與PHY管理的串行總線接口。主要用于配置PHY芯片狀態(tài)、讀取寄存器、讀取PHY地址、獲取LINK狀態(tài)等操作。與網口MII、RMII(TX_CLK、RX_CLK)等數據通訊無關。MDIO接口最多可以掛載32個PHY設備。

2. 驅動修改指南

2.1 驅動代碼說明

執(zhí)行以下命令進入net/phy文件夾查看跟以太網驅動程序相關的源碼。

cd ~/EASY-EAI-kernel/kernel/drivers/net/phy
ls
wKgZPGgAZ9KAPOdEAANcgW0UT2c107.png

2.2 驅動代碼修改

源代碼修改:

把xxx.c(比如motorcomm.c)放到kernel/drivers/net/phy

把xxx.h(比如motorcomm_phy.h)放到kernel/drivers/include/linux

Makefile修改:

cd ~/EASY-EAI-kernel/kernel/drivers/net/phy
vim Makefile

加入以下內容:

obj-$(CONFIG_MICROCHIP_PHY)     += microchip.o
obj-$(CONFIG_MOTORCOMM_PHY)     += motorcomm.o
wKgZO2gAZ9OASMaAAACvy-VlmlU629.png

Kconfig修改(這樣幾可以從make menuconfig找到新加的驅動配置項)

vim Kconfig

在PHYLIB之間(如下所示)加入以下內容:

config MOTORCOMM_PHY
        tristate "Motorcomm PHYs"
        ---help---
          Supports the YT8010, YT8510, YT8511, YT8512 PHYs.
wKgZPGgAZ9OATidAAABAnfJRkfQ071.png

2.3 驅動配置

回到kernel目錄,執(zhí)行make menuconfig:

cd ~/EASY-EAI-kernel/kernel/
make menuconfig

注意:ARCH、GCC_FULLPATH、CROSS_COMPILE三個環(huán)境變量。具體的值可以參考build-kernel.sh腳本。

wKgZO2gAZ9OABS_fAAB8SzVGT60508.pngwKgZPGgAZ9SAN3hVAAG9UhvyOk8746.png

3. 設備樹修改指南

執(zhí)行以下命令進入/arch/arm/boot/dts文件夾查看rv1126相關的設備樹配置。

cd ~/EASY-EAI-kernel/kernel/arch/arm/boot/dts
ls -l rv1126-nano*
wKgZO2gAZ9SANRmfAAB_ooNjfLg506.png

3.1 設備節(jié)點位置說明

打開設備樹找到以太網卡相關的位置。

vim rv1126-nano.dts
wKgZPGgAZ9SACBOkAAGlg9mHXCY111.png

3.2 設備樹節(jié)點參數說明

PHY ID(以YT8512H百兆PHY為例):

wKgZO2gAZ9SAUG5PAAAWK6X374c385.png

寄存器ID(以YT8512H百兆PHY為例):

wKgZPGgAZ9aAPDUtAAB1x-GLTuE789.png

因此設備樹【mdio】要填:

wKgZO2gAZ9aAXlR-AABU7spo9wY612.png

因此設備樹【gmac】要填:

wKgZPGgAZ9eAAx-GAAJ_KmFHu-E528.png

4. 編譯及驗證設計

4.1 編譯

編譯及燒錄見《嵌入式底層開發(fā)/內核驅動/內核開發(fā)流程說明》。

4.2 查看設備情況

adb shell進入開發(fā)板,看驅動是否正確加載:

dmesg | grep -i eth

若出現下列信息(以YT8512H為例),則說明驅動被正確加載:

[   68.212302] YT8512B Ethernet stmmac-0:01: attached PHY driver [YT8512B Ethernet] (mii_bus:phy_addr=stmmac-0:01, irq=POLL)

通過執(zhí)行以下命令,確認驅動工作正常:

ifconfig

若IP地址被成功分配,則說明PHY網卡可正常使用(設備通常是eth0,但要以MAC地址為準)

eth0      Link encap:Ethernet  HWaddr 4A:EF:6D:E8:5C:BA  
          inet addr:192.168.1.168  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:63 

最后ping一下局域網內任意一臺主機(如果是PC,注意一下防火墻),進行聯(lián)網測試:

ping 192.168.1.191 -I eth0

返回以下信息,則說明網卡能夠正常聯(lián)網:

PING 192.168.1.191 (192.168.1.191) 56(84) bytes of data.
64 bytes from 192.168.1.191: icmp_seq=1 ttl=64 time=1.03 ms
64 bytes from 192.168.1.191: icmp_seq=2 ttl=64 time=1.55 ms
64 bytes from 192.168.1.191: icmp_seq=3 ttl=64 time=2.00 ms
64 bytes from 192.168.1.191: icmp_seq=4 ttl=64 time=1.51 ms
64 bytes from 192.168.1.191: icmp_seq=5 ttl=64 time=1.52 ms

5. 常見問題排查

5.1 找不到PHY

錯誤提示如下:

[    5.217653] rk_gmac-dwmac ffc40000.ethernet eth0: Could not attach to PHY
[    5.219021] rk_gmac-dwmac ffc40000.ethernet eth0: stmmac_open: Cannot attach to PHY (error: -19)

硬件角度排查:確認原理圖是否與手上的硬件對應(含圖紙版本是否與硬件匹配、無聊參數是否與硬件一致)?排查phy芯片供電是否正常?排查RST引腳是否有按規(guī)格書所描述的要求進行控制?【若有】排查外部晶振是否起振?

軟件角度排查:設備樹中mdio中的phyid是否填對?mdio中的reg是否有根據硬件的實際情況配置?

5.2 網卡功能異常

具體異常表現為:

* 無法DHCP。

* 用ifconfig手動配置IP,能配置成功,但通信異常。

原因:大概率是因為驅動不兼容,具體做法如下:

* 把mdio的compatible改成"ethernet-phy-ieee802.3-c22"。

* 使用通用網卡驅動(通過make menuconfig把motorcomm的驅動去掉)。

審核編輯 黃宇

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

    關注

    25

    文章

    5682

    瀏覽量

    104788
  • rv1126
    +關注

    關注

    0

    文章

    108

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    分享一份有關TB-RV1126Ds開發(fā)板硬件的規(guī)格書

    產品介紹TB-RV1126Ds開發(fā)板是硬件針對瑞芯微RV1126芯片的開發(fā)參考設計、芯片調試和測試、實現真正一體的開發(fā)板使用,瑞芯微
    發(fā)表于 06-16 17:22

    RV1126開發(fā)板數據手冊

    本產品是基于瑞芯微 RV1126 媒體處理芯片開發(fā)的 IPC 開發(fā)板,分為核心和底板, 且 RV1126
    發(fā)表于 08-28 11:09 ?20次下載

    rv1126和rk3568對比

    視頻編解碼。而RK3568開發(fā)板創(chuàng)龍科技旗下工業(yè)開發(fā)板,基于瑞芯微RK3568J/RK3568B2處理器設計,四核ARM Cortex-A55,每核主頻高達1.8GHz/2.0GHz。 rv1126
    的頭像 發(fā)表于 01-23 18:05 ?1.3w次閱讀
    <b class='flag-5'>rv1126</b>和rk3568對比

    RV1126 實現人臉檢測方案

    基于RV1126開發(fā)板實現人臉檢測方案,充分體現了電子方面的實踐經驗和目標檢測技術。
    的頭像 發(fā)表于 04-14 09:25 ?263次閱讀
    <b class='flag-5'>RV1126</b> 實現人臉檢測方案

    基于RV1126開發(fā)板的人臉檢測算法開發(fā)

    RV1126開發(fā)人臉檢測算法組件
    的頭像 發(fā)表于 04-14 10:19 ?329次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>的人臉檢測算法<b class='flag-5'>開發(fā)</b>

    基于RV1126開發(fā)板的人員檢測算法開發(fā)

    RV1126開發(fā)人員檢測AI算法組件
    的頭像 發(fā)表于 04-14 13:56 ?311次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>的人員檢測算法<b class='flag-5'>開發(fā)</b>

    基于RV1126開發(fā)板網絡配置方法

    RV1126開發(fā)板網絡硬件資源有:以太網、WiFi,采用的網絡配置方案是:Netplan。 ? ? ? ?Netplan是一個用于配置Linux網絡的簡單工具。用戶只需要一個yaml格式的文件去
    的頭像 發(fā)表于 04-15 14:57 ?361次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>網絡配置方法

    基于RV1126開發(fā)板的按鍵測試方法與例程

    RV1126開發(fā)板的按鍵測試方法與例程詳細描述
    的頭像 發(fā)表于 04-15 17:03 ?355次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>的按鍵測試方法與例程

    基于RV1126開發(fā)板修改GPIO內核設備

    編輯設備文件,執(zhí)行以下指令可以修改nano的級頭文件,如圖所示。(比如把復用為SPI1的硬件資源改成通用的GPIO對源代碼進行修改
    的頭像 發(fā)表于 04-17 10:00 ?298次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>修改</b>GPIO<b class='flag-5'>內核</b><b class='flag-5'>設備</b><b class='flag-5'>樹</b>

    基于RV1126開發(fā)板修改CAN內核設備

    編輯設備文件,執(zhí)行以下指令可以修改nano的級頭文件,如下圖所示。(比如基于MCP2515把復用為SPI1的硬件資源轉成CAN對源代碼進行修改
    的頭像 發(fā)表于 04-17 10:10 ?335次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>修改</b>CAN<b class='flag-5'>內核</b><b class='flag-5'>設備</b><b class='flag-5'>樹</b>

    基于RV1126開發(fā)板實現駕駛員行為檢測方案

    RV1126開發(fā)板上實現駕駛員行為檢測:通過圖像識別出這幾種行為:打電話、抽煙、疲勞駕駛。
    的頭像 發(fā)表于 04-18 17:47 ?354次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>實現駕駛員行為檢測方案

    基于RV1126開發(fā)板實現人臉檢測方案

    RV1126開發(fā)板上實現人臉檢測:在圖像中找出人臉,以及每張人臉的landmarks位置。 方案設計邏輯流程圖,方案代碼分為分為兩個業(yè)務流程,主體代碼負責抓取、合成圖像, 算法代碼負責人臉檢測功能。
    的頭像 發(fā)表于 04-21 10:21 ?99次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>實現人臉檢測方案

    基于RV1126開發(fā)板實現人臉識別方案

    RV1126開發(fā)板上實現人臉識別:在圖像中找出人臉,并與數據庫進行比對,得出該人臉對應的身份信息。 方案設計邏輯流程圖,方案代碼分為分為三個業(yè)務流程,主體代碼負責抓取、合成圖像,算法代碼負責人臉識別功能,按鍵監(jiān)聽負責修改
    的頭像 發(fā)表于 04-21 10:24 ?107次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>實現人臉識別方案

    基于RV1126開發(fā)板實現人臉檢測方案

    RV1126開發(fā)板上實現人臉檢測:在圖像中找出人臉,以及每張人臉的landmarks位置。 方案設計邏輯流程圖,方案代碼分為分為兩個業(yè)務流程,主體代碼負責抓取、合成圖像, 算法代碼負責人臉檢測功能。
    的頭像 發(fā)表于 04-21 14:00 ?13次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>實現人臉檢測方案

    基于RV1126開發(fā)板實現人臉檢測方案

    RV1126開發(fā)板上實現人臉檢測:在圖像中找出人臉,以及每張人臉的landmarks位置。 方案設計邏輯流程圖,方案代碼分為分為兩個業(yè)務流程,主體代碼負責抓取、合成圖像, 算法代碼負責人臉檢測功能。
    的頭像 發(fā)表于 04-21 17:59 ?469次閱讀
    基于<b class='flag-5'>RV1126</b><b class='flag-5'>開發(fā)板</b>實現人臉檢測方案