前言网络吞吐量是嵌入式处理器的核心性能指标之一。iperf3 是业界通用的网络带宽测试工具但龙芯 LoongArch 架构的软件源中通常没有预编译包需要手动交叉编译。本文讲解如何在 x86 宿主机上静态交叉编译 iperf3并移植到米联客 LS03 开发板进行千兆网性能测试该方法适用于所有搭载龙芯 2K301 的 LoongArch64 架构设备。一、准备工作1. 环境与材料x86 宿主机Ubuntu 22.04已安装龙芯 LoongArch 交叉编译工具链iperf3 源码iperf-3.20.tar.gz米联客 LS03 开发板龙芯 2K301 主控自带千兆网口千兆网线PC 端作为测试服务端2. 工具链说明交叉编译器路径/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.4/bin/目标架构三元组loongarch64-linux-gnu二、iperf3 源码获取与解压1. 下载源码官方下载地址http://downloads.es.net/pub/iperf/wget http://downloads.es.net/pub/iperf/iperf-3.20.tar.gz2. 解压源码tar -xzf iperf-3.20.tar.gz -C /home/uisrc cd /home/uisrc/iperf-3.20三、交叉编译配置与编译1. configure 配置执行配置脚本指定目标架构、交叉编译器与静态编译参数sudo ./configure \ --hostloongarch64-linux-gnu \ CC/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.4/bin/loongarch64-linux-gnu-gcc \ CFLAGS-static \ CXXFLAGS-static \ --prefix/home/uisrc/iperf3-3.20/参数说明--host目标平台架构此处为 LoongArch64CC显式指定交叉编译器路径CFLAGS-static静态编译生成的可执行文件不依赖系统动态库移植性更强--prefix编译后安装输出的绝对路径2. 编译与安装# 编译 sudo make -j$(nproc) # 安装到指定路径 sudo make install编译完成后输出目录/home/uisrc/iperf3-3.20/下会生成bin、include、lib、share四个目录其中可执行文件位于bin/下。四、移植到米联客 LS03 开发板将整个iperf3-3.20目录拷贝到 LS03 开发板文件系统中位置任意。可通过 U 盘、scp 等方式传输# 宿主机通过scp传输示例 scp -r /home/uisrc/iperf3-3.20 root192.168.137.100:/root/由于采用了静态编译无需额外拷贝依赖库直接即可运行。五、千兆网性能测试1. PC 端启动服务端Windows PC 下载 iperf3 工具解压后在当前目录打开 CMD启动服务端iperf3.exe -s服务端默认监听 5201 端口。2. 开发板执行客户端测试LS03 开发板插上网线配置与 PC 同网段 IP执行测试命令cd /root/iperf3-3.20/bin ./iperf3 -c 192.168.137.13. 测试结果解读米联客 LS03 千兆网典型测试输出如下[ ID] Interval Transfer Bandwidth [ 4] 0.00-10.01 sec 800 MBytes 671 Mbits/sec sender [ 4] 0.00-10.01 sec 800 MBytes 671 Mbits/sec receiver600-700Mbps 是龙芯 2K301 千兆网的常规表现若数值过低需检查网线、网卡协商速率与系统负载。4. 补充测试项反向测试开发板做服务端./iperf3 -sPC 做客户端UDP 测试添加-u参数测试 UDP 带宽与丢包率长时测试添加-t 60测试 60 秒稳定性六、常见问题排查configure 报错检查交叉编译器路径是否正确确认--host架构名拼写无误开发板运行报错若提示找不到库确认已加-static静态编译参数连接失败关闭 PC 端防火墙确认开发板与 PC 网络互通端口未被占用带宽远低于预期用ethtool eth0查看网卡协商速率是否为千兆更换优质网线总结LoongArch 架构下很多开源工具都没有现成二进制包掌握静态交叉编译方法是嵌入式开发的必备技能。iperf3 不仅能测试米联客 LS03 的网络带宽还可用于验证网络驱动稳定性、排查网络故障是龙芯嵌入式开发的必备工具。