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

您所在的位置:网站首页 交叉编译iperf iPerf 3.13 的交叉编译,移植,使用

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

2023-01-03 07:57| 来源: 网络整理| 查看: 265

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的情况可能是他的环境变量里面已经有了设置,所以无需指定,我还是认为直接指定更没有歧义. CFLAGS 和 CXXFLAGS 我让他编译为静态的文件,无需调用其他的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%.

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3