日韩免费,日 韩 a v 在 线 看,北京Av无码,国模蔻蔻私拍一区

Zynq_Linux應(yīng)用開(kāi)發(fā):探索Linux軟件創(chuàng)新之路

ZYNQ+Linux網(wǎng)口調(diào)試筆記(三):PL-ETH網(wǎng)絡(luò)接口調(diào)試

一、概述

在ZYNQ平臺(tái)上使用gigE Vision協(xié)議的網(wǎng)絡(luò)接口相機(jī),網(wǎng)絡(luò)接口的調(diào)試是項(xiàng)目成功的關(guān)鍵之一。本文將重點(diǎn)闡述PL(Processing Layer)側(cè)網(wǎng)口調(diào)試的步驟和注意事項(xiàng)。

Zynq_Linux應(yīng)用開(kāi)發(fā):探索Linux軟件創(chuàng)新之路

二、調(diào)通PS側(cè)網(wǎng)口GEM0

PS側(cè)網(wǎng)口GEM0是Xilinx BSP默認(rèn)配置好的,通過(guò)簡(jiǎn)單的設(shè)置即可使用。這一步主要是確認(rèn)網(wǎng)絡(luò)接口的基本配置,確保網(wǎng)絡(luò)通信正常。

三、調(diào)通PS側(cè)網(wǎng)口GEM1

PS側(cè)網(wǎng)口GEM1的調(diào)試方法可以參考前一篇開(kāi)發(fā)筆記(一)。這一步是為了確保在ZYNQ平臺(tái)上擁有更多的網(wǎng)絡(luò)接口選擇,提高系統(tǒng)的靈活性和可靠性。

四、調(diào)通PL側(cè)網(wǎng)口

Zynq_Linux應(yīng)用開(kāi)發(fā):探索Linux軟件創(chuàng)新之路

這是本文的重點(diǎn)。在PL側(cè),我們需要根據(jù)具體的硬件設(shè)計(jì)和配置進(jìn)行相應(yīng)的調(diào)試。根據(jù)《xapp1082》文檔,PL側(cè)的PHY支持1000Base-X和SGMII兩種配置。我們的項(xiàng)目使用的是1000Base-X的配置。我們需要按照這一配置進(jìn)行調(diào)試。

導(dǎo)入FPGA設(shè)計(jì)同事提供的hdf文件。在彈出的圖形界面中,進(jìn)入Subsystem AUTO Hardware Settings——Ethernet Settings——Primary Ethernet。確認(rèn)可以看到PL側(cè)網(wǎng)絡(luò)設(shè)備axi_ethernet_0,這表明hdf文件中已經(jīng)包含了必要的網(wǎng)口硬件信息。

在這里,我們默認(rèn)選擇ps7_ethernet_0,即使用GEM0作為首選網(wǎng)口。如果需要用到PL側(cè)網(wǎng)口,比如連接更多的網(wǎng)絡(luò)設(shè)備或者提高網(wǎng)絡(luò)性能,就需要對(duì)PL側(cè)網(wǎng)口進(jìn)行配置和調(diào)試。

五、驗(yàn)證Jumbo Frame特性和gigE Vision協(xié)議

在完成PL側(cè)網(wǎng)口的調(diào)試后,我們需要驗(yàn)證網(wǎng)口的Jumbo Frame特性,并在應(yīng)用層適配gigE Vision協(xié)議。這一步是為了確保網(wǎng)絡(luò)接口不僅能正常通信,還能滿足特定的項(xiàng)目需求,如傳輸大數(shù)據(jù)包等。

Zynq_Linux應(yīng)用開(kāi)發(fā):探索Linux軟件創(chuàng)新之路

ZYNQ平臺(tái)的網(wǎng)絡(luò)接口調(diào)試是一個(gè)復(fù)雜但必要的過(guò)程。通過(guò)以上的步驟和注意事項(xiàng),我們可以更加高效地進(jìn)行調(diào)試,確保項(xiàng)目的順利進(jìn)行。啟用Xilinx AXI Ethernet驅(qū)動(dòng)指南

一、選擇驅(qū)動(dòng)配置

1. 進(jìn)入Device Drivers - Network device support

在這里,你需要選中Xilinx AXI Ethernet以及Xilinx Ethernet GEM(這是PS側(cè)網(wǎng)口的驅(qū)動(dòng))。確保這兩個(gè)選項(xiàng)都被正確啟用。

二、配置網(wǎng)絡(luò)支持

Zynq_Linux應(yīng)用開(kāi)發(fā):探索Linux軟件創(chuàng)新之路

2. 進(jìn)入Networking support

隨后,選擇Random ethaddr if unset。這一設(shè)置是為了確保網(wǎng)絡(luò)設(shè)備的MAC地址在未被設(shè)定時(shí)能夠自動(dòng)隨機(jī)生成,避免地址沖突。

三、啟用PHY設(shè)備支持

3. 進(jìn)入Device Drivers - Network device support - PHY Device support and infrastructure

在這里,啟用Drivers for xilinx PHYs。這個(gè)選項(xiàng)是為了支持Xilinx的物理層設(shè)備,確保網(wǎng)絡(luò)通信的正常運(yùn)行。

Zynq_Linux應(yīng)用開(kāi)發(fā):探索Linux軟件創(chuàng)新之路

四、禁用Xilinx AXI DMAS Engine

4. 進(jìn)入Device Drivers - DMA Engine Support

在DMA Engine Support選項(xiàng)中,禁用Xilinx AXI DMAS Engine(對(duì)應(yīng)的配置項(xiàng)名為 CONFIG_XILINX_DMA)。這一步是為了避免潛在的沖突和錯(cuò)誤。

五、注意事項(xiàng)與問(wèn)題排查

5. 設(shè)備樹(shù)節(jié)點(diǎn)的修改與文件路徑

Zynq_Linux應(yīng)用開(kāi)發(fā):探索Linux軟件創(chuàng)新之路

注意:根據(jù)Xilinx Wiki的信息,設(shè)備樹(shù)節(jié)點(diǎn)的引用可能存在錯(cuò)誤(如&axi_ethernet),導(dǎo)致編譯報(bào)錯(cuò)。應(yīng)改為正確的引用,如&axi_ethernet_0。PL-ETH驅(qū)動(dòng)所在路徑為`/build/tmp/work-shared/plnx_arm/kernel-source/drivers/net/ethernet/xilinx/,主要的驅(qū)動(dòng)文件為xilinx_axienet_main.c和xilinx_axienet_mdio.c。對(duì)應(yīng)的內(nèi)核配置項(xiàng)為CONFIG_NET_VENDOR_XILINX和CONFIG_XILINX_AXI_EMAC。

還需要注意以下幾點(diǎn):

(1)啟用ethtool和tcpdump進(jìn)行調(diào)試(非必需)。這些工具可以幫助你更好地監(jiān)控和診斷網(wǎng)絡(luò)問(wèn)題。

(3)上電后,使用ifconfig命令查看網(wǎng)口信息,確認(rèn)MAC地址與設(shè)置的一致,并能夠成功激活網(wǎng)口。你可以使用命令“ifconfig eth1 192.168.1.11 up”來(lái)測(cè)試。

(4)測(cè)試網(wǎng)絡(luò)通路。通過(guò)ping命令測(cè)試與目標(biāo)PC的連通性,如果成功,說(shuō)明網(wǎng)口工作正常。

Zynq_Linux應(yīng)用開(kāi)發(fā):探索Linux軟件創(chuàng)新之路

(5)如果遇到Linux下eth1(即PL-ETH)的MAC地址錯(cuò)誤的問(wèn)題,需要檢查驅(qū)動(dòng)配置和設(shè)備樹(shù)設(shè)置,確保MAC地址的正確解析。如果在開(kāi)機(jī)時(shí)打印出錯(cuò)誤的MAC地址(如解析出的是GEM0的MAC地址),需要根據(jù)錯(cuò)誤提示進(jìn)行相應(yīng)的調(diào)整與修復(fù)。探索系統(tǒng)配置中的MAC地址與設(shè)備樹(shù)

一、關(guān)于local-mac-address的解析問(wèn)題

在我們對(duì)system-user.dtsi文件的試驗(yàn)中,即便不寫(xiě)入local-mac-address,系統(tǒng)仍然解析出的是GEM0的MAC地址。這一現(xiàn)象揭示了系統(tǒng)對(duì)于MAC地址解析的某種默認(rèn)機(jī)制。也就是說(shuō),即便在特定的配置文件中沒(méi)有明確指出,系統(tǒng)仍能通過(guò)其他途徑獲取并解析MAC地址。

二、關(guān)于pl-mac-address的更改解析

當(dāng)我們將system-user.dtsi文件中的local-mac-address更名為pl-mac-address,并在驅(qū)動(dòng)中同步更改解析字符串時(shí),系統(tǒng)能夠正確解析出MAC地址。這表明,系統(tǒng)的MAC地址解析功能對(duì)于特定的命名約定有一定的依賴(lài)性。通過(guò)遵循特定的命名規(guī)則,我們可以確保系統(tǒng)正確讀取并應(yīng)用所需的MAC地址。

Zynq_Linux應(yīng)用開(kāi)發(fā):探索Linux軟件創(chuàng)新之路

三、設(shè)備樹(shù)與U-Boot中的MAC地址傳遞

在Device Tree Blob(DTB)和U-Boot中,我們可以通過(guò)更改環(huán)境變量和設(shè)備樹(shù)設(shè)置來(lái)為每個(gè)板子設(shè)置一個(gè)獨(dú)特的MAC地址。這一功能使得我們?cè)谟布橄髮樱℉AL)和設(shè)備驅(qū)動(dòng)中更加靈活地管理網(wǎng)絡(luò)設(shè)備的配置。通過(guò)這種方式,我們可以確保每個(gè)板子都具有獨(dú)特的網(wǎng)絡(luò)標(biāo)識(shí),從而更好地進(jìn)行網(wǎng)絡(luò)管理和配置。

四、U-Boot環(huán)境變量對(duì)Linux網(wǎng)卡MAC地址的影響

在U-Boot環(huán)境中,環(huán)境變量ethaddr會(huì)覆蓋設(shè)備樹(shù)里pl-eth的local-mac-addr字段,從而影響Linux啟動(dòng)后的網(wǎng)卡MAC地址。這意味著,我們可以通過(guò)修改U-Boot的環(huán)境變量來(lái)動(dòng)態(tài)地更改網(wǎng)卡的MAC地址。U-Boot里的環(huán)境變量ipaddr并不會(huì)對(duì)Linux啟動(dòng)后的配置產(chǎn)生任何影響,因?yàn)樵O(shè)備樹(shù)中并沒(méi)有關(guān)于IP地址的配置。這一特性使得網(wǎng)絡(luò)配置更加靈活和動(dòng)態(tài)。

五、關(guān)于phy-mode與中斷號(hào)的問(wèn)題

Zynq_Linux應(yīng)用開(kāi)發(fā):探索Linux軟件創(chuàng)新之路

phy-mode顯示為sgmii,這可能是由硬件或官方提供的BSP設(shè)置決定的。對(duì)于phy-mode的具體工作原理和原因,需要進(jìn)一步深入研究。設(shè)備樹(shù)中的中斷號(hào)順序可能影響功能,但具體如何影響還需要根據(jù)實(shí)際的應(yīng)用場(chǎng)景和硬件環(huán)境來(lái)判斷。關(guān)于讀出的IRQ號(hào)不對(duì)的問(wèn)題,這是因?yàn)樽x到的IRQ號(hào)是系統(tǒng)映射后的軟件IRQ number,而非硬件中斷號(hào)。兩者并無(wú)直接的線性關(guān)系。關(guān)于Linux上網(wǎng)口eth0、eth1的順序問(wèn)題,似乎是按照phy地址從小到大來(lái)排布的,但這需要進(jìn)一步研究和驗(yàn)證。

第一章: Xilinx Zynq Ethernet概述

Xilinx的Zynq系列芯片是結(jié)合了FPGA和ARM處理器的強(qiáng)大硬件平臺(tái)。其以太網(wǎng)(Ethernet)功能是其重要的特性之一。關(guān)于Xilinx Wiki上的Zynq PL Ethernet的介紹,讓我們對(duì)Zynq的以太網(wǎng)功能有了初步的了解。對(duì)于工程師和開(kāi)發(fā)者來(lái)說(shuō),深入了解其工作原理和性能至關(guān)重要。

第二章:Linux驅(qū)動(dòng)探索

對(duì)于Zynq的以太網(wǎng)性能,Linux驅(qū)動(dòng)起著至關(guān)重要的作用。在Xilinx Wiki上,我們可以找到關(guān)于Linux驅(qū)動(dòng)的相關(guān)資料。特別是Macb驅(qū)動(dòng),它是實(shí)現(xiàn)以太網(wǎng)通信的關(guān)鍵。深入了解并優(yōu)化這些驅(qū)動(dòng),對(duì)于提升Zynq的以太網(wǎng)性能至關(guān)重要。

Zynq_Linux應(yīng)用開(kāi)發(fā):探索Linux軟件創(chuàng)新之路

第三章:Ethernet性能優(yōu)化

為了提升Zynq的以太網(wǎng)性能,我們需要關(guān)注一些關(guān)鍵參數(shù)的設(shè)置。例如,Jumbo frame MTU的定義,當(dāng)前值為9000。我們是否可以將其改大一些?這是提升網(wǎng)絡(luò)性能的一個(gè)潛在方向。通過(guò)調(diào)整這些參數(shù),我們可以更好地優(yōu)化網(wǎng)絡(luò)性能。

第四章:Zynq Openamp調(diào)試方法探究

Openamp的開(kāi)發(fā)相對(duì)復(fù)雜,調(diào)試過(guò)程也存在挑戰(zhàn)。經(jīng)過(guò)多次嘗試,我總結(jié)出了一些調(diào)試方法。官方文檔中的調(diào)試方法主要針對(duì)單個(gè)系統(tǒng),要么是遠(yuǎn)程端,要么是主端。對(duì)于主端應(yīng)用的調(diào)試,我們可以采用傳統(tǒng)的Gdb調(diào)試方式,但這種方式無(wú)法分析遠(yuǎn)程端的運(yùn)行狀態(tài)。我還探索了一種基于attach to running target的調(diào)試方法,這種方法在系統(tǒng)通信問(wèn)題的情況下尤為有效。

第五章:總結(jié)與展望

Zynq_Linux應(yīng)用開(kāi)發(fā):探索Linux軟件創(chuàng)新之路

通過(guò)以上的探討,我們對(duì)Zynq的以太網(wǎng)性能和Openamp的調(diào)試方法有了更深入的了解。未來(lái),我們還可以進(jìn)一步探索其他優(yōu)化方法,如更深入地研究Linux驅(qū)動(dòng)、調(diào)整更多網(wǎng)絡(luò)參數(shù)等,以提升Zynq的以太網(wǎng)性能。我們也期待Xilinx在未來(lái)能提供更多優(yōu)化工具和資源,幫助開(kāi)發(fā)者更輕松地開(kāi)發(fā)和優(yōu)化Zynq平臺(tái)。

遠(yuǎn)程應(yīng)用的調(diào)試方法

在軟件開(kāi)發(fā)過(guò)程中,調(diào)試是一個(gè)至關(guān)重要的環(huán)節(jié)。針對(duì)遠(yuǎn)程應(yīng)用,我們有兩種調(diào)試方法:?jiǎn)为?dú)調(diào)試遠(yuǎn)程應(yīng)用和使用attach to running target功能。這兩種方法為我們提供了調(diào)試遠(yuǎn)程應(yīng)用的便捷途徑。

Tcf調(diào)試Linux主端應(yīng)用

對(duì)于Linux主端應(yīng)用的調(diào)試,Tcf調(diào)試是一種便捷的方法。在單獨(dú)調(diào)試Linux應(yīng)用時(shí),推薦使用此方法。詳細(xì)的調(diào)試流程和操作指南,可以參考《Vitis Debug Linux基礎(chǔ)篇》。

OS Aware Debug:系統(tǒng)級(jí)的調(diào)試方式

OS Aware Debug是一種基于系統(tǒng)的調(diào)試方式,能夠在系統(tǒng)和應(yīng)用運(yùn)行時(shí),將調(diào)試代碼與運(yùn)行信息緊密結(jié)合,從而實(shí)現(xiàn)高效的調(diào)試。本章以O(shè)penamp rpc demo為例,詳細(xì)介紹如何同時(shí)調(diào)試主端和遠(yuǎn)程端的應(yīng)用。遺憾的是,目前全網(wǎng)關(guān)于這方面的詳細(xì)說(shuō)明并不多。

在target(zynq)中的雙系統(tǒng)單步調(diào)試

Zynq_Linux應(yīng)用開(kāi)發(fā):探索Linux軟件創(chuàng)新之路
在zynq平臺(tái)的target中,通過(guò)ssh啟動(dòng)應(yīng)用,可以實(shí)現(xiàn)雙系統(tǒng)間的單步調(diào)試。這種方式簡(jiǎn)單易行,是遠(yuǎn)程調(diào)試的一種有效手段。

zynq平臺(tái)Linux系統(tǒng)phy 88e1512驅(qū)動(dòng)配置詳解

在Zynq平臺(tái)上配置Linux系統(tǒng)中的PHY 88E1512驅(qū)動(dòng),需要遵循一定的步驟。確保硬件連接正確并識(shí)別為網(wǎng)絡(luò)設(shè)備,可以通過(guò)`ifconfig -a`查看。在內(nèi)核配置中啟用Ethernet PHY支持,檢查設(shè)備樹(shù)(DTS)或內(nèi)核配置文件,確保相關(guān)配置已定義。然后,在設(shè)備樹(shù)(DTS)文件中添加PHY 88E1512描述,指定其兼容性及地址,可能還需添加其他屬性。完成這些配置后,編譯內(nèi)核并加載設(shè)備樹(shù)(DTB)文件至系統(tǒng)中,確保在系統(tǒng)啟動(dòng)后,驅(qū)動(dòng)能夠自動(dòng)加載。使用`ethtool -i eth0`檢查驅(qū)動(dòng)加載情況及PHY信息。這一步驟適用于Zynq平臺(tái)上的Linux系統(tǒng),具體配置可能因平臺(tái)和內(nèi)核版本不同而有所差異。 以上就是關(guān)于遠(yuǎn)程應(yīng)用調(diào)試和Zynq平臺(tái)Linux系統(tǒng)phy 88e1512驅(qū)動(dòng)配置的相關(guān)介紹。在進(jìn)行調(diào)試和配置時(shí),可能會(huì)遇到一些問(wèn)題,建議查閱相關(guān)資料并參考本文提供的參考資料,以便更好地解決問(wèn)題。 參考資料:

OpenAMP on ZYBO(Zynq) 1回目:とりあえずサンプルを動(dòng)かす- Qiita

本文使用 Zhihu On VSCode創(chuàng)作并發(fā)布


本文原地址:http://m.czyjwy.com/news/84475.html
本站文章均來(lái)自互聯(lián)網(wǎng),僅供學(xué)習(xí)參考,如有侵犯您的版權(quán),請(qǐng)郵箱聯(lián)系我們刪除!
上一篇:π幣開(kāi)發(fā)者的成功秘訣:創(chuàng)新貨幣APP領(lǐng)先之道
下一篇:Zenmap批量掃描技術(shù)助力高效開(kāi)發(fā)批量掃描app新紀(jì)元