#!/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 (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}"