本指導文檔適用開發(fā)環(huán)境:
Windows開發(fā)環(huán)境:Windows 7 64bit、Windows 10 64bit
Linux開發(fā)環(huán)境:Ubuntu 14.04.3 64bit
虛擬機:VMware15.1.0
U-Boot:U-Boot-2017.01
Kernel:Linux-4.9.65、Linux-RT-4.9.65
Linux Processor SDK:ti-processor-sdk-linux-rt-am57xx-evm-04.03.00.05
CPSW(Common Platform Ethernet Switch)為TI Sitara系列處理器內部的三端口交換機,其包含一個CPU端口以及兩個外部端口。CPU為端口0,兩個外部端口為端口1和端口2。CPSW驅動程序遵循標準的Linux網絡接口架構,其包含SWITCH模式和Dual Emac模式。
在SWITCH模式下,用戶可通過MAC內部交換數據包,此時數據包將在端口1(P1)和端口2(P2)之間轉發(fā),無需經過CPU處理。
本次測試板卡為創(chuàng)龍科技的TL5728F-EVM,它是一款基于TI Sitara系列AM5728(雙核ARM Cortex-A15 +浮點雙核DSP C66x) + Xilinx Artix-7 FPGA處理器設計的高端異構多核評估板,由核心板與評估底板組成。AM5728與Artix-7在核心板內部通過GPMC、I2C通信總線連接,在評估底板通過PCIe通信總線連接。核心板經過專業(yè)的PCB Layout和高低溫測試驗證,穩(wěn)定可靠,可滿足各種工業(yè)應用環(huán)境。
評估板接口資源豐富,引出雙路千兆網口、雙路SFP光口、USB 3.0、CAN、RS485、SATA、HDMI、GPMC、FMC等接口,方便用戶快速進行產品方案評估與技術預研。典型應用在運動控制、測試測量、機器視覺、智能電力、視頻追蹤、定位導航等領域。
在Dual Emac模式下,端口1和端口2彼此隔離為不同的Vlan ID,而端口0(P0)則是兩個Vlan ID的中繼端口,端口0將端口1和端口2視為單獨的端口。
圖 1
SWITCH模式配置
評估板設備樹文件tl5728f-evm.dts引用了tl5728-idk.dts的內容。在Linux內核源碼"arch/arm/boot/dts/tl5728-idk.dts"和"arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi"設備樹文件中,默認將CPSW配置為Dual Emac模式。請按照下圖方法修改設備樹文件,將dual_emac屬性注釋,配置CPSW為SWITCH模式。
Host# vi tl5728-idk.dts
Host# vi am57xx-beagle-x15-common.dtsi
圖 2
圖 3 tl5728-idk.dts
圖 4 am57xx-beagle-x15-common.dtsi
在內核源碼所在目錄下,執(zhí)行如下命令重新編譯設備樹。
Host# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tl5728f-evm.dtb
圖 5
將Linux系統(tǒng)啟動卡通過讀卡器插入PC機,并將其成功掛載到Ubuntu系統(tǒng)"/media/tronlong/rootfs/"路徑下。執(zhí)行如下命令,將編譯生成的tl5728f-evm.dtb設備樹文件拷貝至Linux系統(tǒng)啟動卡"/rootfs/boot/"目錄下,并把tl5728f-evm.dtb文件鏈接至tl57x-evm.dtb作為新的設備樹文件。
Host# sudo cp tl5728f-evm.dtb /media/tronlong/rootfs/boot
Host# cd /media/tronlong/rootfs/boot/
Host# sudo rm tl57x-evm.dtb
Host# sudo ln -sf tl5728f-evm.dtb tl57x-evm.dtb
圖 6
SWITCH模式測試
將評估板其中一個網口連接至PC機2(例如筆記本電腦),另一個網口通過交換機連接至PC機1(例如臺式機),硬件連接如下圖所示。其中交換機需連接外網,以便于自動獲取IP。
圖 7
IP配置
請按照如下方法,分別設置評估板、PC機1和PC機2為同一個網段的靜態(tài)IP。使用替換過設備樹文件的Linux系統(tǒng)啟動卡啟動評估板,執(zhí)行如下命令將評估板的IP設置為192.168.1.2,子網掩碼設置為255.255.255.0。
Target# ifconfig eth0 192.168.1.2 netmask 255.255.255.0
Target# ifconfig
圖 8
打開PC機1虛擬機網絡配置,設置為橋接模式。
圖 9
執(zhí)行如下命令將PC機1的Ubuntu系統(tǒng)的IP設置為192.168.1.3,子網掩碼設置為255.255.255.0。
Host# sudo ifconfig eth0 192.168.1.3 netmask 255.255.255.0
Host# ifconfig
圖 10
同上,打開PC機2虛擬機網絡配置,設置為橋接模式。
執(zhí)行如下命令將PC機2的Ubuntu系統(tǒng)的IP設置為192.168.1.10,子網掩碼設置為255.255.255.0。
Host# sudo ifconfig eth0 192.168.1.10 netmask 255.255.255.0
Host# ifconfig
圖 11
網絡測試
評估板、PC機1、PC機2網絡聯(lián)通測試。
評估板測試
Target# ping 192.168.1.3 //與PC機1測試
Target# ping 192.168.1.10 //與PC機2測試
圖 12
PC機1測試
Host# ping 192.168.1.2
Host# ping 192.168.1.10
圖 13
PC機2測試
Host# ping 192.168.1.2
Host# ping 192.168.1.3
圖 14
網絡帶寬測試
評估板與PC機1帶寬測試
TCP測試
請在PC機1上的Ubuntu中執(zhí)行如下命令。如提示未安裝Iperf,可按提示執(zhí)行命令"sudo apt-get install iperf"進行安裝。
Host# iperf -s
圖 15
請在評估板上執(zhí)行如下命令。
Target# iperf -c 192.168.1.3
圖 16
UDP測試
請在PC機1的Ubuntu中執(zhí)行如下命令。
Host# iperf -s -u
圖 17
請在評估板上執(zhí)行如下命令。
Target# iperf -u -c 192.168.1.3 -b 1000M
圖 18
PC機2與PC機1帶寬測試
TCP測試
請在PC機1上的Ubuntu中執(zhí)行如下命令。如提示未安裝Iperf,可按提示執(zhí)行命令"sudo apt-get install iperf"進行安裝。
Host# iperf -s
圖 19
請在PC機2上的Ubuntu中執(zhí)行如下命令。
Host# iperf -c 192.168.1.3
圖 20
UDP測試
請在PC機1上的Ubuntu中執(zhí)行如下命令。
Host# iperf -s -u
圖 21
請在PC機2上的Ubuntu中執(zhí)行如下命令。
Target# iperf -u -c 192.168.1.3 -b 1000M
圖 22