[经验分享] OpenHarmony移植带宽测试工具iperf教程

chunchuchenchen 显示全部楼层 发表于 昨天 11:13

本教程适用于有OpenHarmonySDK且编译工具链是clang,仅需修改一下所需架构既可,arm64 arm均可以使用

由于iperf3需要一些gcc的库,但是我手上的clang没有对应移植的库,所以无法编译成功,有兴趣的小伙伴可以尝试用下面脚本试一下看看

下载windows linux 源码

windows端:https://jaist.dl.sourceforge.net/project/iperf2/iperf-2.2.1-win64.exe?viasf=1

Linux端:https://jaist.dl.sourceforge.net/project/iperf2/iperf-2.0.9.tar.gz?viasf=1

Linux端解压

tar -xvf iperf-2.0.9.tar.gz

进入iperf-2.0.9 文件夹

cd iperf-2.0.9

创建build.sh

touch build.sh

复制粘贴以下代码,源文件放在本文件根目录下

#!/bin/bash

set -e

if [ "$1" == "clean" ] || [ "$1" == "distclean" ];then
    make $1
    exit 0
fi

export OHOS_NATIVE_HOME=/prj_oh/prebuilts/ohos-sdk/linux/12/native

export PATH=$OHOS_NATIVE_HOME/llvm/bin:$PATH
export AR=$OHOS_NATIVE_HOME/llvm/bin/llvm-ar
export AS=$OHOS_NATIVE_HOME/llvm/bin/llvm-as
export LD=$OHOS_NATIVE_HOME/llvm/bin/ld.lld
export RANLIB=$OHOS_NATIVE_HOME/llvm/bin/llvm-ranlib
export STRIP=$OHOS_NATIVE_HOME/llvm/bin/llvm-strip
export CC="$OHOS_NATIVE_HOME/llvm/bin/clang"
export CXX="$OHOS_NATIVE_HOME/llvm/bin/clang++"
export NM="$OHOS_NATIVE_HOME/llvm/bin/llvm-nm"
export OBJDUMP="$OHOS_NATIVE_HOME/llvm/bin/llvm-objdump"

export CFLAGS="--target=loongarch64-linux-ohos --sysroot=$OHOS_NATIVE_HOME/sysroot -funwind-tables -fstack-protector -fno-strict-aliasing -D__MUSL__"
export CPPFLAGS="--target=loongarch64-linux-ohos --sysroot=$OHOS_NATIVE_HOME/sysroot -funwind-tables -fstack-protector -fno-strict-aliasing -D__MUSL__"
export LDFLAGS="--target=loongarch64-linux-ohos -static-libstdc++ --rtlib=compiler-rt -fuse-ld=lld"

./configure --prefix=${PWD}/_install \
            --target=loongarch64-linux-ohos \
            --host=x86_64-pc-linux-gnu \

make && make install

主要是通过find / -name llvm 找到SDK中适用于linux交叉编译的编译工具路径

image.png

保存退出后

sudo ./build.sh

在/iperf-2.0.9/_install/bin 路径下会存放iperf可执行文件如下图所示

通过hdc 将iperf发送到板卡上 运行 iperf相关命令即可

©著作权归作者所有,转载或内容合作请联系作者

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

Copyright   ©2025  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部