80 lines
3.1 KiB
Bash
80 lines
3.1 KiB
Bash
#!/bin/bash
|
|
# Copyright (c) 2022 Arm Limited and Contributors. All rights reserved.
|
|
# Licensed to the Apache Software Foundation (ASF) under one
|
|
# or more contributor license agreements. See the NOTICE file
|
|
# distributed with this work for additional information
|
|
# regarding copyright ownership. The ASF licenses this file
|
|
# to you under the Apache License, Version 2.0 (the
|
|
# "License"); you may not use this file except in compliance
|
|
# with the License. You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing,
|
|
# software distributed under the License is distributed on an
|
|
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
# KIND, either express or implied. See the License for the
|
|
# specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
set -e
|
|
set -u
|
|
set -o pipefail
|
|
|
|
# Show usage
|
|
function show_usage() {
|
|
cat <<EOF
|
|
Usage: Set up running environment by installing the required prerequisites.
|
|
-h, --help
|
|
Display this help message.
|
|
EOF
|
|
}
|
|
|
|
if [ "$#" -eq 1 ] && [ "$1" == "--help" -o "$1" == "-h" ]; then
|
|
show_usage
|
|
exit 0
|
|
elif [ "$#" -ge 1 ]; then
|
|
show_usage
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "\e[36mStart setting up running environment\e[0m"
|
|
|
|
# Install CMSIS
|
|
echo -e "\e[36mStart installing CMSIS\e[0m"
|
|
CMSIS_PATH="/opt/arm/ethosu/cmsis"
|
|
mkdir -p "${CMSIS_PATH}"
|
|
|
|
CMSIS_SHA="977abe9849781a2e788b02282986480ff4e25ea6"
|
|
CMSIS_SHASUM="86c88d9341439fbb78664f11f3f25bc9fda3cd7de89359324019a4d87d169939eea85b7fdbfa6ad03aa428c6b515ef2f8cd52299ce1959a5444d4ac305f934cc"
|
|
CMSIS_URL="http://github.com/ARM-software/CMSIS_5/archive/${CMSIS_SHA}.tar.gz"
|
|
DOWNLOAD_PATH="/tmp/${CMSIS_SHA}.tar.gz"
|
|
|
|
wget ${CMSIS_URL} -O "${DOWNLOAD_PATH}"
|
|
echo "$CMSIS_SHASUM" ${DOWNLOAD_PATH} | sha512sum -c
|
|
tar -xf "${DOWNLOAD_PATH}" -C "${CMSIS_PATH}" --strip-components=1
|
|
touch "${CMSIS_PATH}"/"${CMSIS_SHA}".sha
|
|
echo -e "\e[36mCMSIS Installation SUCCESS\e[0m"
|
|
|
|
# Install Arm(R) Ethos(TM)-U NPU driver stack
|
|
echo -e "\e[36mStart installing Arm(R) Ethos(TM)-U NPU driver stack\e[0m"
|
|
git clone "https://review.mlplatform.org/ml/ethos-u/ethos-u-core-platform" /opt/arm/ethosu/core_platform
|
|
cd /opt/arm/ethosu/core_platform
|
|
git checkout tags/"21.11"
|
|
echo -e "\e[36mArm(R) Ethos(TM)-U Core Platform Installation SUCCESS\e[0m"
|
|
|
|
# Install Arm(R) GNU Toolchain
|
|
echo -e "\e[36mStart installing Arm(R) GNU Toolchain\e[0m"
|
|
mkdir -p /opt/arm/gcc-arm-none-eabi
|
|
export gcc_arm_url='https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2?revision=ca0cbf9c-9de2-491c-ac48-898b5bbc0443&la=en&hash=68760A8AE66026BCF99F05AC017A6A50C6FD832A'
|
|
curl --retry 64 -sSL ${gcc_arm_url} | tar -C /opt/arm/gcc-arm-none-eabi --strip-components=1 -jx
|
|
export PATH=/opt/arm/gcc-arm-none-eabi/bin:$PATH
|
|
arm-none-eabi-gcc --version
|
|
arm-none-eabi-g++ --version
|
|
echo -e "\e[36mArm(R) Arm(R) GNU Toolchain Installation SUCCESS\e[0m"
|
|
|
|
# Install TVM from TLCPack
|
|
echo -e "\e[36mStart installing TVM\e[0m"
|
|
pip install tlcpack-nightly -f https://tlcpack.ai/wheels
|
|
echo -e "\e[36mTVM Installation SUCCESS\e[0m"
|