zynq学习笔记之petalinux (4)开发板网络测试

这一篇主要讲讲网络测试,同时也包含怎么将netperf测试工具通过petalinux工具编译进zynq中。

准备:《zynq学习笔记之petalinux (3)petalinux 创建自定义工程》的工程文件my_first_proj

            netperf测试工具,点击下载netperf2.7.0

1,首先设置虚拟机的网络连接。因为我们是在虚拟机的linux系统上进行网络测试,因此需要对虚拟机的网络配置进行设置。

关机-->编辑虚拟机设置-->网络配置器-->桥接模式-->复制物理地址网络状态-->确定

zynq学习笔记之petalinux (4)开发板网络测试_第1张图片

2,设置虚拟机的ip地址

$ cd /etc/network/
$ sudo gedit interfaces
在interfaces文件中,加入如下内容:
auto ens33
iface ens33 inet static
address 192.168.184.10
gateway 192.168.184.254
netmask 255.255.255.0

我的主机ip是192.168.184.9,将虚拟机设置为同一网段,同时设置网关和子网掩码。保存后退出。

可以ifconfig查看ip地址

$ ifconfig
ens33     Link encap:Ethernet  HWaddr 00:0c:29:31:d6:f3  
          inet addr:192.168.184.10  Bcast:192.168.184.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe31:d6f3/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1887970 errors:0 dropped:0 overruns:0 frame:0
          TX packets:145081 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2832030059 (2.8 GB)  TX bytes:9582343 (9.5 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:6436 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6436 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:476160 (476.1 KB)  TX bytes:476160 (476.1 KB)
3,将下载好的netperf拖拽到linux虚拟机中并解压,我直接将它放在桌面下并解压。
$ cd ./Desktop/
$ unzip netperf-2.7.0.zip

4,将netperf进行编译和安装

$ cd ~/Desktop/
$ cd ./netperf-2.7.0/
$ mkdir arm_zynq
$ ./configure --build=arm-linux-gnueabihf --prefix=/home/zhupy/Desktop/netperf-2.7.0/arm_zynq/
$ make CC=arm-linux-gnueabihf-gcc 
$ make install

运行完成后,在arm_zynq/bin文件夹下面出现了两个可执行文件,我们需要用到的是客户端的netperf这一个。

zynq学习笔记之petalinux (4)开发板网络测试_第2张图片

5,切换到《zynq学习笔记之petalinux (3)petalinux 创建自定义工程》的工程文件my_first_proj

$ cd ~/Desktop/petalinux_proj/my_first_proj/
6,创建用户app
$ petalinux-create -t apps --template install --name netperf --enable
INFO: Create apps: netperf
INFO: New apps successfully created in /home/zhupy/Desktop/petalinux_proj/my_first_proj/project-spec/meta-user/recipes-apps/netperf
INFO: Enabling created component...
INFO: sourcing bitbake
INFO: oldconfig rootfs
INFO: netperf has been enabled 
7,将petalinux创建的netperf删掉,并将上面生成的netperf复制过去
$ cd ~/Desktop/petalinux_proj/my_first_proj/project-spec/meta-user/recipes-apps/netperf/files/   #切换目录
$ rm  netperf                                                       #删除petalinux生成的netperf
$ cp ~/Desktop/netperf-2.7.0/arm_zynq/bin/netperf ./               #将上面生成的netperf执行文件复制过去

8,编译

$ cd ~/Desktop/petalinux_proj/my_first_proj/
$ petalinux-build
[INFO] building project
[INFO] sourcing bitbake
INFO: bitbake petalinux-user-image
Parsing recipes: 100% |##########################################| Time: 0:00:41
Parsing of 2467 .bb files complete (0 cached, 2467 parsed). 3260 targets, 226 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |#######################################| Time: 0:00:06
Checking sstate mirror object availability: 100% |###############| Time: 0:00:49
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
fsbl-2017.4+gitAUTOINC+77448ae629-r0 do_compile: NOTE: fsbl: compiling from external source tree /home/zhupy/petalinux/tools/hsm/data/embeddedsw
NOTE: Tasks Summary: Attempted 2458 tasks of which 2403 didn't need to be rerun and all succeeded.
INFO: Copying Images from deploy to images
NOTE: Successfully copied built images to tftp dir:  /tftpboot
[INFO] successfully built project
9,按照《zynq学习笔记之petalinux (3)petalinux 创建自定义工程》的步骤生成SD卡镜像文件,拷贝到SD卡中。这样我们在开发板的client端的netperf编译到zynq中。

10,然后,我们需要在linux主机中安装和运行netserver。和上面生成netperf的步骤一样,只不过不用指定编译器。

$ cd ~/Desktop/netperf-2.7.0/
$ ./configure
$ make clean              #最好先clean下
$ make
$ sudo make install

11,运行netserver

$ netserver  -4
Starting netserver with host 'IN(6)ADDR_ANY' port '12865' and family AF_INET

默认的端口号为12865, -4 表示IPv4,如果想指定端口,可以使用-p命令

12,将开发板与主机通过网线直连,开发板上电,启动putty,修改开发板ip

# ifconfig eth0 192.168.184.11 netmask 255.255.255.0
# ifconfig

zynq学习笔记之petalinux (4)开发板网络测试_第3张图片


可以看到ip已经修改完成!

13,开始测试:(netperf -help可以查看指令帮助)

# netperf -H 192.168.184.10 -l 60

zynq学习笔记之petalinux (4)开发板网络测试_第4张图片

OK!!



你可能感兴趣的:(zynq学习笔记之petalinux (4)开发板网络测试)