iPerf 3.13 的交叉编译,移植,使用

1.从iPerf官网下载源码

下载地址

iPerf C++ source : 这个标签下面,我下载的是
iPerf 3.1.3 8 jun 2016 537 KiB

2.解压源码

tar -xzf iperf-3.1.3-source.tar.gz -C .

3.configure

之后解压之后,iperf3.13目录里面先进行configure,在我的交叉编译环境里,指定host和CC使用的编译器就可以了,我会编译为Static,这样就不用在文件系统里面放调用的lib了. 网上有人编译为调用动态lib的,我嫌麻烦,但是方法我还是会列出来.

sudo ./configure --host=arm-linux CC=/home/zhang/t508/out/gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc CFLAGS=-static CXXFLAGS=-static --prefix=/home/zhang/t507_mlx75027_driver/iperf-3.1.3/t507

sudo make
sudo make install

–host 指定的是主机类型,不是我Ubuntu要用,而是我的开发板.
CC 直接指定使用的交叉编译器,不指定的话默认是本机的gcc. 这个是比较坑的地方,网上不指定CC的情况可能是他的环境变量里面已经有了设置,所以无需指定,我还是认为直接指定更没有歧义.
CFLAGSCXXFLAGS 我让他编译为静态的文件,无需调用其他的lib,复制到哪里都能使用.
–prefix 指定的是编译好的文件要在那个目录中,我的方案是全志的T507,这里直接建立一个t507的目录用来放文件.必须是绝对路径!

4.复制到文件系统,打包,烧录

将编译好的iperf3,放在文件系统里,位置随意,我就直接放在了home下面.
编译,打包,烧录进开发板就可以进行测试了.

如果你编译的时候没有指定static,移植时一定要将lib下的libiperf.so移植走,注意这个是链接文件 拷贝是用cp -l
链接文件要放到板子的/usr/lib下面,方便执行。

5.性能测试

我的测试环境是PC和开发板直连.
PC做为Server端, 而开发板做为Client去连接Server.
在PC端运行如下的命令来监听可能的连接.

iperf.exe -s

在开发板端去连接服务器

./iperf3 -c 192.168.1.109 -t 60 -i 1 -w 1M

在这里插入图片描述-c xxx.xxx.xxx.xxx 是去连接(connect)这个地址,所以参数是c
-t 60 Length of test (-t) 60s
-i 1 Reporting intervals (-i)
-w Setting socket buffer size (-w) 为1M 指定这个,会稍微增大一些吞度量,约为5%到10%.

其他的参数,可以参见下面的官方文档.
参考文档

猜你喜欢

转载自blog.csdn.net/scarlettsp/article/details/120839903
今日推荐