女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

淺談Xilinx MPSoC常見(jiàn)的調(diào)試思路

454398 ? 來(lái)源:博客園 ? 作者:付漢杰 ? 2020-11-06 15:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式系統(tǒng)里,以太網(wǎng)是一個(gè)基本的接口,既用于調(diào)試,也用于數(shù)據(jù)傳輸。所以在單板調(diào)試過(guò)程中,以太網(wǎng)是一個(gè)基本的任務(wù)。如果以太網(wǎng)工作正常,也可以說(shuō)是一個(gè)重要的里程碑。

Xilinx MPSoC支持多個(gè)網(wǎng)卡,應(yīng)用成熟,下面是常見(jiàn)的調(diào)試思路。

1. 以太網(wǎng)硬件
以太網(wǎng)的硬件,分為兩塊,第一是MAC,第二是PHY。當(dāng)然,在調(diào)試以太網(wǎng)以前,CPUDDR、相關(guān)總線都要工作正常。MAC和PHY之間,有兩個(gè)接口,第一是數(shù)據(jù)接口,可能是MII、GMII、RGMII、SGMII等;第二是管理接口,MDIO總線。數(shù)據(jù)接口用于傳輸數(shù)據(jù)。對(duì)RGMII而言,如果以太網(wǎng)工作在1000M,頻率是125MHz;如果以太網(wǎng)工作在100M,頻率是25MHz。MDIO是類(lèi)似IIC的總線,MAC提供時(shí)鐘MDC,數(shù)據(jù)線MDIO是雙向的,既可以讀PHY的寄存器,也可以寫(xiě)PHY的寄存器。
!Xilinx MPSoC RGMII信號(hào)](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提供了測(cè)試代碼xemacps_example_intr_dma.c。2018.3是版本號(hào),請(qǐng)根據(jù)自己情況更改。xemacps_example_intr_dma.c的功能是初始化MAC和PHY,設(shè)置PHY為自環(huán),發(fā)送一個(gè)包,再接收一個(gè)包,最后檢查數(shù)據(jù)是否正確。如果代碼不能退出,可能是發(fā)送失敗,或者沒(méi)有收到包。代碼缺省配置MAC和PHY為1000M。

2.2. UBoot代碼
UBoot下,MAC的驅(qū)動(dòng)代碼是drivers/net目錄下的macb.c。
PHY的驅(qū)動(dòng)代碼是drivers/net/phy目錄下的phy.c,以及廠家相關(guān)代碼,比如ti.c。

2.3. Linux代碼
Linux下,MAC的驅(qū)動(dòng)代碼是drivers/net/ethernet/cadence目錄下的macb_main.c、macb_ptp.c。
PHY的驅(qū)動(dòng)代碼是drivers/net/phy目錄下的phy.c,以及廠家相關(guān)代碼,比如dp83867.c。

2.4. 設(shè)備樹(shù)
UBoot/Linux的驅(qū)動(dòng)代碼需要設(shè)備樹(shù)提供一些參數(shù)。其中一個(gè)必須的參數(shù)是PHY的地址。下面代碼是U-Boot 2019.1里zynqmp-zcu102-revB.dts文件里關(guān)于Phy的設(shè)置。它指定了PHY的地址0xc。其它參數(shù)是Phy的參數(shù),設(shè)置原因請(qǐng)參考PHY手冊(cè)。
&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. 調(diào)試流程
調(diào)試時(shí),先確保硬件工作正常。需要軟件配合時(shí),Standalone代碼最簡(jiǎn)單,因此最好修改Standalone代碼來(lái)配合硬件調(diào)試。

3.1. 檢查MDIO
讓軟件發(fā)起PHY寄存器的讀寫(xiě)操作,檢查MDC/MDIO是否有跳變及其信號(hào)質(zhì)量。

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

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

3.4. RGMII時(shí)鐘
對(duì)RGMII而言,TX_Clk是MAC發(fā)出的,RX_Clk是PHY發(fā)出的。如果沒(méi)有時(shí)鐘,MAC自環(huán)也會(huì)有問(wèn)題。需要確保TX_Clk、RX_Clk正常。

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

3.6. PHY自環(huán)測(cè)試
在Standalone代碼下,函數(shù)EmacPsUtilEnterLoopback()會(huì)設(shè)置PHY為自環(huán)模式。它調(diào)用XEmacPsDetectPHY()檢測(cè)PHY的地址,在讀取PHY的ID,并根據(jù)ID判斷PHY的廠家是Marvell或者Ti,再調(diào)用對(duì)應(yīng)的函數(shù)設(shè)置PHY為自環(huán)模式。對(duì)于ZCU102單板,會(huì)調(diào)用EmacPsUtilTiPhyLoopback()。
建議創(chuàng)建一個(gè)Standalone的工程,把xemacps_example_intr_dma.c復(fù)制到工程中。如果PHY和Xilinx開(kāi)發(fā)板型號(hào)一樣,xemacps_example_intr_dma.c能夠正常完成PHY自環(huán)測(cè)試。

3.7. 檢查MAC統(tǒng)計(jì)計(jì)數(shù)寄存器
MAC提供了寄存器統(tǒng)計(jì)MAC的運(yùn)行狀態(tài)。其中最重要的兩個(gè)寄存器是frames_txed_ok、frames_rxed_ok。frames_txed_ok的偏移是0x0108,表示成功發(fā)送的幀的數(shù)目。frames_rxed_ok的偏移是0x0158,表示成功接收的幀的數(shù)目。
在調(diào)試時(shí),檢查者兩個(gè)寄存器,可以檢查MAC的發(fā)送和接收的狀態(tài)。

3.8. UBoot測(cè)試
在MAC自環(huán)和PHY自環(huán)測(cè)試成功后,可以在UBoot測(cè)試以太網(wǎng),比如使用簡(jiǎn)單的ping命令。可以把對(duì)端的電腦,分別設(shè)置成1000M、100M、10M的情況,檢查是否能夠成功ping對(duì)端的電腦。下面是一個(gè)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測(cè)試
在MAC自環(huán)和PHY自環(huán)測(cè)試成功后,可以在Linux測(cè)試以太網(wǎng),比如可以檢查L(zhǎng)inux啟動(dòng)后,能否通過(guò)DHCP得到IP地址,能否成功ping其它主機(jī)。同UBoot一樣,也可以把對(duì)端的電腦,分別設(shè)置成1000M、100M、10M的情況,檢查是否能夠成功ping對(duì)端的電腦。

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

    關(guān)注

    41

    文章

    5630

    瀏覽量

    175836
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3679

    瀏覽量

    131337
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11509

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    什么是Xilinx ZynqUltraScale+ MPSoC技術(shù)?

    ZynqUltraScale+ MPSoCXilinx推出的第二代多處理SoC系統(tǒng),在第一代Zynq-7000的基礎(chǔ)上做了全面升級(jí)。包括先進(jìn)的multi-domain,multi-island電源
    發(fā)表于 10-09 06:07

    如何調(diào)試Zynq UltraScale+ MPSoC VCU DDR控制器

    Xilinx DDR 控制器?! DR PHY 與電路板調(diào)試:  Zynq UltraScale+ MPSoC VCU DDR 控制器采用 MIG PHY。  這意味著您可以使用標(biāo)準(zhǔn) MIG 示例設(shè)計(jì)來(lái)驗(yàn)證您
    發(fā)表于 01-07 16:02

    如何調(diào)試Zynq UltraScale+ MPSoC VCU DDR控制器

    如何調(diào)試 Zynq UltraScale+ MPSoC VCU DDR 控制器?
    發(fā)表于 01-22 06:29

    XILINX MPSOC系列FPGA視頻教程

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

    基于Xilinx UltraScale+MPSoC的自動(dòng)駕駛專(zhuān)用板卡

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

    Xilinx Zynq UltraScale MPSoC可擴(kuò)展電源設(shè)計(jì)

    TIDA-01480 參考設(shè)計(jì)是一種可擴(kuò)展的電源設(shè)計(jì),旨在為 Xilinx Zynq UltraScale+ (ZU+) 系列 MPSoC 器件供電。此設(shè)計(jì)接收來(lái)自標(biāo)準(zhǔn)直流電源的電力,并通過(guò)明確的 Samtec 插座端子板連接方式為 X
    發(fā)表于 10-14 08:52 ?2226次閱讀

    Xilinx Zynq UltraScale+ MPSoC的同步調(diào)試和跟蹤演示

    Lauterbach演示了Zynq UltraScale + MPSoC上的ARM Cortex-A53和Cortex-R5內(nèi)核在2015年嵌入式世界中首次使用其TRACE32產(chǎn)品進(jìn)行同步調(diào)試和跟蹤。
    的頭像 發(fā)表于 11-27 06:48 ?4210次閱讀

    Xilinx Zynq UltraScale+ MPSoC中實(shí)現(xiàn)的NVMe主機(jī)加速器

    在本演示中,Intelliprop演示了在Xilinx Zynq UltraScale + MPSoC中實(shí)現(xiàn)的NVMe主機(jī)加速器。
    的頭像 發(fā)表于 11-26 06:18 ?6551次閱讀

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

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

    詳解Xilinx公司Zynq? UltraScale+?MPSoC產(chǎn)品

    Avnet公司的Ultra96 開(kāi)發(fā)板是基于ARM的Xilinx ZynqUltraScale+? MPSoC系列產(chǎn)品的滿足Linaro 96板指標(biāo)的開(kāi)發(fā)板,設(shè)計(jì)者可創(chuàng)建或評(píng)估Zynq處理器子系統(tǒng)
    發(fā)表于 03-05 15:18 ?3632次閱讀
    詳解<b class='flag-5'>Xilinx</b>公司Zynq? UltraScale+?<b class='flag-5'>MPSoC</b>產(chǎn)品

    Xilinx的Xa Zynq UltraScale MPSOC數(shù)據(jù)手冊(cè)免費(fèi)下載

    Xa Zynq UltraScale+? MPSOC系列基于Xilinx UltraScale?MPSOC體系結(jié)構(gòu)。該系列產(chǎn)品在單個(gè)設(shè)備中集成了功能豐富的64位四核ARM?Cortex?-A53
    發(fā)表于 02-20 15:57 ?15次下載
    <b class='flag-5'>Xilinx</b>的Xa Zynq UltraScale <b class='flag-5'>MPSOC</b>數(shù)據(jù)手冊(cè)免費(fèi)下載

    如何調(diào)試 Zynq UltraScale+ MPSoC VCU DDR 控制器?

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

    AMD-Xilinx MPSoC的Watchdog在Linux中使用的簡(jiǎn)明教程

    AMD-Xilinx MPSoC的器件里,提供了內(nèi)置的Watchdog
    的頭像 發(fā)表于 07-07 14:15 ?1410次閱讀

    適用于Xilinx Zynq UltraScale+ MPSoC應(yīng)用的電源參考設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《適用于Xilinx Zynq UltraScale+ MPSoC應(yīng)用的電源參考設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 09-13 09:55 ?9次下載
    適用于<b class='flag-5'>Xilinx</b> Zynq UltraScale+ <b class='flag-5'>MPSoC</b>應(yīng)用的電源參考設(shè)計(jì)

    基于AD9613與Xilinx MPSoC平臺(tái)的高速AD/DA案例分享

    本文主要介紹基于Xilinx UltraScale+MPSoC XCZU7EV的高速AD采集與高速DA輸出案例
    的頭像 發(fā)表于 06-03 14:22 ?235次閱讀
    基于AD9613與<b class='flag-5'>Xilinx</b> <b class='flag-5'>MPSoC</b>平臺(tái)的高速AD/DA案例分享