55 lines
1.5 KiB
Bash
Executable File
55 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
###############################################
|
|
#
|
|
# Download and install Pico C SDK.
|
|
# src: https://github.com/raspberrypi/pico-sdk
|
|
#
|
|
# ex: ./install_sdk.bash 2.1.0
|
|
#
|
|
###############################################
|
|
|
|
PICO_SDK_VERSION=$1
|
|
REGEX_VERSION="^[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}$"
|
|
|
|
if [[ -z ${INSTALL_PATH} ]]
|
|
then
|
|
INSTALL_PATH=${PWD}
|
|
fi
|
|
|
|
usage() {
|
|
echo "usage:"
|
|
echo "./install_sdk.bash <version> (ex: ./install_sdk.bash 2.1.0)"
|
|
}
|
|
|
|
if [[ ! "${PICO_SDK_VERSION}" =~ ${REGEX_VERSION} ]]
|
|
then
|
|
echo "error: unable to parse the SDK version: '${PICO_SDK_VERSION}'"
|
|
usage
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -d ${INSTALL_PATH}/sdk/${PICO_SDK_VERSION} ]]
|
|
then
|
|
echo "installing dependencies..."
|
|
sudo apt install cmake python3 build-essential gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib
|
|
|
|
echo "installing Pico C SDK ${PICO_SDK_VERSION}"
|
|
|
|
pico_tar_file="pico-sdk-${PICO_SDK_VERSION}.tar.gz"
|
|
wget https://github.com/raspberrypi/pico-sdk/releases/download/${PICO_SDK_VERSION}/pico-sdk-${PICO_SDK_VERSION}.tar.gz -P ${INSTALL_PATH}
|
|
if [[ $? != 0 ]]
|
|
then
|
|
echo "error: unable to get pico SDK VERSION: ${PICO_SDK_VERSION}"
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p ${INSTALL_PATH}/sdk/${PICO_SDK_VERSION}
|
|
tar xzvf ${INSTALL_PATH}/${pico_tar_file} -C ${INSTALL_PATH}/sdk/${PICO_SDK_VERSION}
|
|
rm ${INSTALL_PATH}/${pico_tar_file}
|
|
|
|
echo "Pico C SDK installed successfully: ${INSTALL_PATH}/sdk/${PICO_SDK_VERSION}"
|
|
exit 0
|
|
fi
|
|
|
|
echo "Pico C SDK already exists: ${INSTALL_PATH}/sdk/${PICO_SDK_VERSION}" |