picoco/scripts/install_sdk.bash
2025-02-19 11:22:12 +01:00

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}"