From 312b66ca4965c299fc2c0ea7281eac37a993e950 Mon Sep 17 00:00:00 2001 From: Lin Jianhua Date: Fri, 28 Jun 2019 14:24:45 +0800 Subject: [PATCH] rk1808: update the script files of rknputools Change-Id: I1455300415f1a24c7b2f0ed93c3dede95b63bb14 Signed-off-by: Lin Jianhua --- .../rknputools/linux.sh | 38 ++++++++++++++++++ .../rknputools/make_linux_aarch64_tools.sh | 3 +- .../rknputools/make_linux_x86_tools.sh | 30 ++++++++++++++ .../rknputools/mkrknputools.sh | 40 ++++++++++++++----- .../rknputools/rk3399.sh | 11 ----- 5 files changed, 101 insertions(+), 21 deletions(-) create mode 100755 rk1808/rk1808_compute_stick_tool/rknputools/linux.sh create mode 100755 rk1808/rk1808_compute_stick_tool/rknputools/make_linux_x86_tools.sh delete mode 100755 rk1808/rk1808_compute_stick_tool/rknputools/rk3399.sh diff --git a/rk1808/rk1808_compute_stick_tool/rknputools/linux.sh b/rk1808/rk1808_compute_stick_tool/rknputools/linux.sh new file mode 100755 index 0000000..0b77d06 --- /dev/null +++ b/rk1808/rk1808_compute_stick_tool/rknputools/linux.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +TOOLS_ARM_DIR=./build +TOOLS_X86_DIR=./build +USR_LIB_DIR=/usr/lib +USR_LIB64_DIR=/usr/lib64 + +cat /proc/cpuinfo | grep -E "Intel|AMD" +if [ $? -ne 0 ]; then + echo "use arm version" + if [ -d "$TOOLS_ARM_DIR" ]; then + cp $TOOLS_ARM_DIR/* /tmp/ + chmod 777 /tmp/rknn_ssd + chmod 777 /tmp/rknn_mobilenet + chmod 777 /tmp/npu_transfer_proxy + if [ -d "$USR_LIB64_DIR" ] + then + sudo cp -dpR $TOOLS_ARM_DIR/lib64/* $USR_LIB64_DIR/ + else + sudo cp -dpR $TOOLS_ARM_DIR/lib64/* $USR_LIB_DIR/ + fi + else + echo "warning: $TOOLS_ARM_DIR does not exist" + fi +else + echo "use x86 version" + if [ -d "$TOOLS_X86_DIR" ]; then + cp $TOOLS_X86_DIR/* /tmp/ + cp $TOOLS_X86_DIR/lib64/* /tmp/ + chmod 777 /tmp/rknn_ssd + chmod 777 /tmp/rknn_mobilenet + chmod 777 /tmp/npu_transfer_proxy + #export LD_LIBRARY_PATH=/tmp + else + echo "warning: $TOOLS_X86_DIR does not exist" + fi +fi + diff --git a/rk1808/rk1808_compute_stick_tool/rknputools/make_linux_aarch64_tools.sh b/rk1808/rk1808_compute_stick_tool/rknputools/make_linux_aarch64_tools.sh index cd91733..9dd63aa 100755 --- a/rk1808/rk1808_compute_stick_tool/rknputools/make_linux_aarch64_tools.sh +++ b/rk1808/rk1808_compute_stick_tool/rknputools/make_linux_aarch64_tools.sh @@ -1,6 +1,7 @@ #!/bin/bash export RK_RKNN_API_PLT=Linux +export RK_RKNN_API_ARCH=arm export RK_NPU_TRANSFER_PROXY_ARCH=linux-aarch64 set -e @@ -19,7 +20,7 @@ then if [ -d "$NPU_TRANSFER_DIR" ] then if [ -f "$MKTOOLSFILE" ]; then - $MKTOOLSFILE $RK_RKNN_API_PLT $RK_NPU_TRANSFER_PROXY_ARCH + $MKTOOLSFILE $RK_RKNN_API_PLT $RK_RKNN_API_ARCH $RK_NPU_TRANSFER_PROXY_ARCH fi else echo "warning: $NPU_TRANSFER_DIR not found!" diff --git a/rk1808/rk1808_compute_stick_tool/rknputools/make_linux_x86_tools.sh b/rk1808/rk1808_compute_stick_tool/rknputools/make_linux_x86_tools.sh new file mode 100755 index 0000000..ce1cb62 --- /dev/null +++ b/rk1808/rk1808_compute_stick_tool/rknputools/make_linux_x86_tools.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +export RK_RKNN_API_PLT=Linux +export RK_RKNN_API_ARCH=x86 +export RK_NPU_TRANSFER_PROXY_ARCH=linux-x86_64 + +set -e + +SCRIPT_DIR=$(dirname $(realpath $BASH_SOURCE)) +TOP_DIR=$(realpath $SCRIPT_DIR/../../../../..) +cd $TOP_DIR + +CURRENT_DIR=$TOP_DIR/device/rockchip/rk1808/rk1808_compute_stick_tool/rknputools +MKTOOLSFILE=$CURRENT_DIR/mkrknputools.sh +RKNN_API_DIR=$TOP_DIR/external/RKNPUTools/rknn-api/$RK_RKNN_API_PLT +NPU_TRANSFER_DIR=$TOP_DIR/external/RKNPUTools/npu_transfer_proxy/$RK_NPU_TRANSFER_PROXY_ARCH + +if [ -d "$RKNN_API_DIR" ] +then + if [ -d "$NPU_TRANSFER_DIR" ] + then + if [ -f "$MKTOOLSFILE" ]; then + $MKTOOLSFILE $RK_RKNN_API_PLT $RK_RKNN_API_ARCH $RK_NPU_TRANSFER_PROXY_ARCH + fi + else + echo "warning: $NPU_TRANSFER_DIR not found!" + fi +else + echo "warning: $RKNN_API_DIR not found!" +fi diff --git a/rk1808/rk1808_compute_stick_tool/rknputools/mkrknputools.sh b/rk1808/rk1808_compute_stick_tool/rknputools/mkrknputools.sh index fca03ff..ac56e83 100755 --- a/rk1808/rk1808_compute_stick_tool/rknputools/mkrknputools.sh +++ b/rk1808/rk1808_compute_stick_tool/rknputools/mkrknputools.sh @@ -7,16 +7,20 @@ TOP_DIR=$(realpath $SCRIPT_DIR/../../../../..) cd $TOP_DIR source $TOP_DIR/device/rockchip/.BoardConfig.mk -TOOLS_OUT_DIR=$TOP_DIR/device/rockchip/rk1808/rk1808_compute_stick_tool/rknputools/build/ +BUILD_DIR=build +TOOLS_OUT_DIR=$TOP_DIR/device/rockchip/rk1808/rk1808_compute_stick_tool/rknputools/$BUILD_DIR LIB_OUT_DIR=$TOOLS_OUT_DIR/lib64 RKNPUTOOLS_DIR=$TOP_DIR/external/RKNPUTools RKNN_API_DIR=$RKNPUTOOLS_DIR/rknn-api/$RK_RKNN_API_PLT RKNN_SDK_DIR=$RKNN_API_DIR/rknn_api_sdk -RKNN_MOBILENET=$RKNN_SDK_DIR/build/rknn_mobilenet +RKNN_MOBILENET=$RKNN_SDK_DIR/$BUILD_DIR/rknn_mobilenet +RKNN_SSD=$RKNN_SDK_DIR/$BUILD_DIR/rknn_ssd NPU_TRANSFER_PROXY=$RKNPUTOOLS_DIR/npu_transfer_proxy/$RK_NPU_TRANSFER_PROXY_ARCH/npu_transfer_proxy + if [ -d "$TOOLS_OUT_DIR" ]; then + echo "delete dir $BUILD_DIR" rm -rf $TOOLS_OUT_DIR fi mkdir -p $LIB_OUT_DIR @@ -28,13 +32,22 @@ if [ ! -d "$TARGET_OUTPUT_DIR" ]; then fi if [ -d $RKNN_SDK_DIR ]; then - echo -n "compile rknn api sdk..." cd $RKNN_SDK_DIR - if [ -d $RKNN_SDK_DIR/build ]; then - rm -rf build + if [ -d $BUILD_DIR ]; then + rm -rf $BUILD_DIR fi - mkdir build; cd build; cmake ..; make + mkdir $BUILD_DIR; cd $BUILD_DIR + echo -n "compile $RK_RKNN_API_ARCH rknn api..." + if [ "$RK_RKNN_API_ARCH" == "arm" ] + then + cmake -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ .. + make + else + cmake ..; make + fi + + echo "copy $RK_RKNN_API_PLT images and resource to $BUILD_DIR" if [ -f $RKNN_MOBILENET ] then echo -n "copy rknn_mobilenet..." @@ -43,11 +56,20 @@ if [ -d $RKNN_SDK_DIR ]; then else echo "warning: $RKNN_MOBILENET not found!" fi + + if [ -f $RKNN_SSD ] + then + echo -n "copy rknn_ssd..." + cp $RKNN_SSD $TOOLS_OUT_DIR/rknn_ssd + echo "done." + else + echo "warning: $RKNN_SSD not found!" + fi fi if [ -f $NPU_TRANSFER_PROXY ] then - echo -n "copy npu_transfer_proxy..." + echo -n "copy $RK_NPU_TRANSFER_PROXY_ARCH npu_transfer_proxy..." cp $NPU_TRANSFER_PROXY $TOOLS_OUT_DIR/npu_transfer_proxy echo "done." else @@ -58,8 +80,8 @@ if [ -d $RKNN_API_DIR ] then echo -n "copy libs and resource..." cp $RKNN_API_DIR/tmp/* $TOOLS_OUT_DIR/ - cp $RKNN_API_DIR/rknn_api_sdk/rknn_api/lib64/* $LIB_OUT_DIR/ - cp $RKNN_API_DIR/rknn_api_sdk/3rdparty/opencv/lib64/* $LIB_OUT_DIR/ + cp $RKNN_SDK_DIR/rknn_api/$RK_RKNN_API_ARCH/lib64/* $LIB_OUT_DIR/ + cp $RKNN_SDK_DIR/3rdparty/opencv/$RK_RKNN_API_ARCH/lib64/* $LIB_OUT_DIR/ echo "done." else echo -e "\e[31m error: $RKNN_API_DIR not found! \e[0m" diff --git a/rk1808/rk1808_compute_stick_tool/rknputools/rk3399.sh b/rk1808/rk1808_compute_stick_tool/rknputools/rk3399.sh deleted file mode 100755 index 495316b..0000000 --- a/rk1808/rk1808_compute_stick_tool/rknputools/rk3399.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -USR_LIB_DIR=/usr/lib -TOOLS_DIR=./build - -if [ -d "$TOOLS_DIR" ]; then - cp $TOOLS_DIR/* /tmp/ - chmod 777 /tmp/rknn_mobilenet - chmod 777 /tmp/npu_transfer_proxy - sudo cp -dpR $TOOLS_DIR/lib64/ $USR_LIB_DIR -fi