#!/bin/bash
|
|
set -e
|
|
SCRIPT_DIR=$(dirname $(realpath $BASH_SOURCE))
|
TOP_DIR=$(realpath $SCRIPT_DIR/../../../../..)
|
cd $TOP_DIR
|
|
source $TOP_DIR/device/rockchip/.BoardConfig.mk
|
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_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
|
|
# Require buildroot host tools to do image packing.
|
if [ ! -d "$TARGET_OUTPUT_DIR" ]; then
|
echo "Source buildroot/build/envsetup.sh"
|
source $TOP_DIR/buildroot/build/envsetup.sh $RK_CFG_BUILDROOT
|
fi
|
|
if [ -d $RKNN_SDK_DIR ]; then
|
cd $RKNN_SDK_DIR
|
if [ -d $BUILD_DIR ]; then
|
rm -rf $BUILD_DIR
|
fi
|
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..."
|
cp $RKNN_MOBILENET $TOOLS_OUT_DIR/rknn_mobilenet
|
echo "done."
|
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 $RK_NPU_TRANSFER_PROXY_ARCH npu_transfer_proxy..."
|
cp $NPU_TRANSFER_PROXY $TOOLS_OUT_DIR/npu_transfer_proxy
|
echo "done."
|
else
|
echo "warning: $NPU_TRANSFER_PROXY not found!"
|
fi
|
|
if [ -d $RKNN_API_DIR ]
|
then
|
echo -n "copy libs and resource..."
|
cp $RKNN_API_DIR/tmp/* $TOOLS_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"
|
fi
|