色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

淺談Xilinx MPSoC常見的調試思路

454398 ? 來源:博客園 ? 作者:付漢杰 ? 2020-11-06 15:07 ? 次閱讀

嵌入式系統里,以太網是一個基本的接口,既用于調試,也用于數據傳輸。所以在單板調試過程中,以太網是一個基本的任務。如果以太網工作正常,也可以說是一個重要的里程碑。

Xilinx MPSoC支持多個網卡,應用成熟,下面是常見的調試思路。

1. 以太網硬件
以太網的硬件,分為兩塊,第一是MAC,第二是PHY。當然,在調試以太網以前,CPUDDR、相關總線都要工作正常。MAC和PHY之間,有兩個接口,第一是數據接口,可能是MII、GMII、RGMII、SGMII等;第二是管理接口,MDIO總線。數據接口用于傳輸數據。對RGMII而言,如果以太網工作在1000M,頻率是125MHz;如果以太網工作在100M,頻率是25MHz。MDIO是類似IIC的總線,MAC提供時鐘MDC,數據線MDIO是雙向的,既可以讀PHY的寄存器,也可以寫PHY的寄存器。
!Xilinx MPSoC RGMII信號](https://upload-images.jianshu.io/upload_images/22911878-ecedcfc816a786bd...)

2. 軟件
2.1. Standalone代碼
Xilinx在Xilinx/SDK/2018.3/data/embeddedsw/XilinxProcessorIPLib/drivers/emacps_v3_8/examples提供了測試代碼xemacps_example_intr_dma.c。2018.3是版本號,請根據自己情況更改。xemacps_example_intr_dma.c的功能是初始化MAC和PHY,設置PHY為自環,發送一個包,再接收一個包,最后檢查數據是否正確。如果代碼不能退出,可能是發送失敗,或者沒有收到包。代碼缺省配置MAC和PHY為1000M。

2.2. UBoot代碼
UBoot下,MAC的驅動代碼是drivers/net目錄下的macb.c。
PHY的驅動代碼是drivers/net/phy目錄下的phy.c,以及廠家相關代碼,比如ti.c。

2.3. Linux代碼
Linux下,MAC的驅動代碼是drivers/net/ethernet/cadence目錄下的macb_main.c、macb_ptp.c。
PHY的驅動代碼是drivers/net/phy目錄下的phy.c,以及廠家相關代碼,比如dp83867.c。

2.4. 設備樹
UBoot/Linux的驅動代碼需要設備樹提供一些參數。其中一個必須的參數是PHY的地址。下面代碼是U-Boot 2019.1里zynqmp-zcu102-revB.dts文件里關于Phy的設置。它指定了PHY的地址0xc。其它參數是Phy的參數,設置原因請參考PHY手冊。
&gem3 {
phy-handle = ;
phyc: phy@c {
reg = ;
ti,rx-internal-delay = ;
ti,tx-internal-delay = ;
ti,fifo-depth = ;
ti,dp83867-rxctrl-strap-quirk;
/* reset-gpios = ; */
};
/* Cleanup from RevA */
/delete-node/ phy@21;
};

3. 調試流程
調試時,先確保硬件工作正常。需要軟件配合時,Standalone代碼最簡單,因此最好修改Standalone代碼來配合硬件調試。

3.1. 檢查MDIO
讓軟件發起PHY寄存器的讀寫操作,檢查MDC/MDIO是否有跳變及其信號質量。

3.2. 檢查PHY
讓軟件讀PHY的ID等寄存器,對照手冊,看寄存器值是否正確。如果不對,可能是PHY的地址錯誤。也可以從0到31嘗試PHY的地址,讀取PHY的ID。讀到正確的ID,就說明PHY的地址對了。

3.3. 測試自協商
連接單板和電腦,電腦分別配置成自協商、1000M、100M、10M。讓軟件讀PHY寄存器的自協商結果寄存器,檢查單板側PHY自協商的結果。

3.4. RGMII時鐘
對RGMII而言,TX_Clk是MAC發出的,RX_Clk是PHY發出的。如果沒有時鐘,MAC自環也會有問題。需要確保TX_Clk、RX_Clk正常。

3.5. MAC自環測試
network_control寄存器的bit 1是loopback_local,用于使能本地自環。在測試數據收發之前,可以先設置loopback_local,再進行發送、接收測試。
在Standalone代碼下,調用函數EmacPsUtilEnterLocalLoopback()可以完成這個操作。
建議創建一個Standalone的工程,把xemacps_example_intr_dma.c復制到工程中。再在xemacps_example_intr_dma.c中調用EmacPsUtilEnterLocalLoopback()設置本地自環,完成MAC自環測試。

3.6. PHY自環測試
在Standalone代碼下,函數EmacPsUtilEnterLoopback()會設置PHY為自環模式。它調用XEmacPsDetectPHY()檢測PHY的地址,在讀取PHY的ID,并根據ID判斷PHY的廠家是Marvell或者Ti,再調用對應的函數設置PHY為自環模式。對于ZCU102單板,會調用EmacPsUtilTiPhyLoopback()。
建議創建一個Standalone的工程,把xemacps_example_intr_dma.c復制到工程中。如果PHY和Xilinx開發板型號一樣,xemacps_example_intr_dma.c能夠正常完成PHY自環測試。

3.7. 檢查MAC統計計數寄存器
MAC提供了寄存器統計MAC的運行狀態。其中最重要的兩個寄存器是frames_txed_ok、frames_rxed_ok。frames_txed_ok的偏移是0x0108,表示成功發送的幀的數目。frames_rxed_ok的偏移是0x0158,表示成功接收的幀的數目。
在調試時,檢查者兩個寄存器,可以檢查MAC的發送和接收的狀態。

3.8. UBoot測試
在MAC自環和PHY自環測試成功后,可以在UBoot測試以太網,比如使用簡單的ping命令。可以把對端的電腦,分別設置成1000M、100M、10M的情況,檢查是否能夠成功ping對端的電腦。下面是一個ping命令的例子。

uboot> setenv ipaddr 192.168.0.111
uboot> setenv serverip 192.168.0.100
uboot> ping 192.168.0.100
host 192.168.0.100 is alive

3.9. Linux測試
在MAC自環和PHY自環測試成功后,可以在Linux測試以太網,比如可以檢查Linux啟動后,能否通過DHCP得到IP地址,能否成功ping其它主機。同UBoot一樣,也可以把對端的電腦,分別設置成1000M、100M、10M的情況,檢查是否能夠成功ping對端的電腦。

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

    關注

    40

    文章

    5460

    瀏覽量

    172430
  • 嵌入式系統
    +關注

    關注

    41

    文章

    3620

    瀏覽量

    129666
  • Linux
    +關注

    關注

    87

    文章

    11342

    瀏覽量

    210181
收藏 人收藏

    評論

    相關推薦

    淺談原理圖和PCB圖的常見錯誤

    淺談原理圖和PCB圖的常見錯誤
    發表于 08-12 13:04

    什么是Xilinx ZynqUltraScale+ MPSoC技術?

    ZynqUltraScale+ MPSoCXilinx推出的第二代多處理SoC系統,在第一代Zynq-7000的基礎上做了全面升級。包括先進的multi-domain,multi-island電源
    發表于 10-09 06:07

    如何調試Zynq UltraScale+ MPSoC VCU DDR控制器

    Xilinx DDR 控制器。  DDR PHY 與電路板調試:  Zynq UltraScale+ MPSoC VCU DDR 控制器采用 MIG PHY?! ∵@意味著您可以使用標準 MIG 示例設計來驗證您
    發表于 01-07 16:02

    如何調試Zynq UltraScale+ MPSoC VCU DDR控制器

    如何調試 Zynq UltraScale+ MPSoC VCU DDR 控制器?
    發表于 01-22 06:29

    XILINX MPSOC系列FPGA視頻教程

    ALINX公司研發團隊在疫情期間全部居家辦公,研發工作有序推進,為了感謝所有客戶對ALINX的支持,研發團隊4名工程師在疫情期間規劃了一部大型FPGA視頻教程,主要針對XILINX MPSOC系列
    發表于 07-21 10:34

    基于Xilinx UltraScale+MPSoC的自動駕駛專用板卡

    。今天小編就來向大家介紹一款基于Xilinx UltraScale + MPSoC的自動駕駛專用板卡,OKI IDS和安富利聯合宣布了一款基于兩款Xilinx UltraScale + MPS
    發表于 04-30 16:31 ?1632次閱讀
    基于<b class='flag-5'>Xilinx</b> UltraScale+<b class='flag-5'>MPSoC</b>的自動駕駛專用板卡

    Xilinx Zynq UltraScale MPSoC可擴展電源設計

    TIDA-01480 參考設計是一種可擴展的電源設計,旨在為 Xilinx Zynq UltraScale+ (ZU+) 系列 MPSoC 器件供電。此設計接收來自標準直流電源的電力,并通過明確的 Samtec 插座端子板連接方式為 X
    發表于 10-14 08:52 ?2048次閱讀

    Xilinx Zynq UltraScale+ MPSoC的同步調試和跟蹤演示

    Lauterbach演示了Zynq UltraScale + MPSoC上的ARM Cortex-A53和Cortex-R5內核在2015年嵌入式世界中首次使用其TRACE32產品進行同步調試和跟蹤。
    的頭像 發表于 11-27 06:48 ?3967次閱讀

    Xilinx Zynq UltraScale+ MPSoC中實現的NVMe主機加速器

    在本演示中,Intelliprop演示了在Xilinx Zynq UltraScale + MPSoC中實現的NVMe主機加速器。
    的頭像 發表于 11-26 06:18 ?6258次閱讀

    Xilinx UltraScale+ FPGA和MPSoC互連寬度的使用

    從19到32Gb / s的互連寬度正在迅速擴大。 了解Xilinx UltraScale +?FPGA和MPSoC如何直接使用這些互連,以及KCU116和VCU118評估套件如何快速啟動您的設計。
    的頭像 發表于 11-22 07:21 ?3201次閱讀

    詳解Xilinx公司Zynq? UltraScale+?MPSoC產品

    Avnet公司的Ultra96 開發板是基于ARM的Xilinx ZynqUltraScale+? MPSoC系列產品的滿足Linaro 96板指標的開發板,設計者可創建或評估Zynq處理器子系統
    發表于 03-05 15:18 ?3362次閱讀
    詳解<b class='flag-5'>Xilinx</b>公司Zynq? UltraScale+?<b class='flag-5'>MPSoC</b>產品

    Xilinx的Xa Zynq UltraScale MPSOC數據手冊免費下載

    Xa Zynq UltraScale+? MPSOC系列基于Xilinx UltraScale?MPSOC體系結構。該系列產品在單個設備中集成了功能豐富的64位四核ARM?Cortex?-A53
    發表于 02-20 15:57 ?10次下載
    <b class='flag-5'>Xilinx</b>的Xa Zynq UltraScale <b class='flag-5'>MPSOC</b>數據手冊免費下載

    如何調試 Zynq UltraScale+ MPSoC VCU DDR 控制器?

    UltraScale+ MPSoC VCU(H.264/H.265 視頻編解碼器)連用。 因此,調試將不同于 MIG 等傳統 Xilinx DDR 控制器。 DDR PHY 與電路板調試
    發表于 02-23 06:00 ?15次下載
    如何<b class='flag-5'>調試</b> Zynq UltraScale+ <b class='flag-5'>MPSoC</b> VCU DDR 控制器?

    AMD-Xilinx MPSoC的Watchdog在Linux中使用的簡明教程

    AMD-Xilinx MPSoC的器件里,提供了內置的Watchdog
    的頭像 發表于 07-07 14:15 ?1129次閱讀

    適用于Xilinx Zynq UltraScale+ MPSoC應用的電源參考設計

    電子發燒友網站提供《適用于Xilinx Zynq UltraScale+ MPSoC應用的電源參考設計.pdf》資料免費下載
    發表于 09-13 09:55 ?9次下載
    適用于<b class='flag-5'>Xilinx</b> Zynq UltraScale+ <b class='flag-5'>MPSoC</b>應用的電源參考設計
    主站蜘蛛池模板: 含羞草免费完整视频在线观看 | 伊人久久综在合线亚洲 | 青草在线在线d青草在线 | 老色69久久九九精品高潮 | 在线免费视频国产 | 熟妇少妇任你躁在线无码 | 秋霞影院福利电影 | 男子扒开美女尿口做羞羞的事 | 国产精品久久人妻无码网站一区无 | 亚洲精品123区 | 小货SAO边洗澡边CAO你动漫 | 无遮掩H黄纯肉动漫在线观看星 | 蜜桃狠狠色伊人亚洲综合网站 | 国产不卡无码高清视频 | 午夜福利免费0948视频 | 亚洲 欧美 国产 伦 综合 | 网红主播 国产精品 开放90后 | 三级黄色在线视频中文 | 亚洲AV无码一区二区色情蜜芽 | 亚洲中文字幕无码一去台湾 | 99久久就热视频精品草 | 午夜影院视费x看 | 在线观看免费av网站 | 真人女人无遮挡内谢免费视频% | 亚洲欧美一区二区久久 | 夜夜骑夜夜欢 | 国产人妻精品午夜福利免费不卡 | 国产在线观看网址你懂得 | 漂亮的保姆3集电影免费观看中文 | 天美传媒在线观看免费完整版 | 午夜爱情动作片P | 免费可以看污动画软件 | 国产在线aaa片一区二区99 | 久久精品国产免费 | 欧美一级情欲片在线 | 四房播播最新地址 | 蕾丝边娱乐网 | 国产不卡一卡2卡三卡4卡网站 | 欧美在线看费视频在线 | 2224x最新网站 | 娇喘嗯嗯 轻点啊视频福利 娇喘高潮教室h |