67 lines
1.8 KiB
Bash
Executable File
67 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
###############################################
|
|
#
|
|
# Download and install Tiny USB.
|
|
# src: https://github.com/hathach/tinyusb
|
|
#
|
|
# ex: ./install_tiny_usb.bash 0.17.0
|
|
#
|
|
###############################################
|
|
|
|
TINY_USB_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_tiny_usb.bash <version> (ex: ./install_tiny_usb.bash 2.1.0)"
|
|
}
|
|
|
|
if [[ ! "${TINY_USB_VERSION}" =~ ${REGEX_VERSION} ]]
|
|
then
|
|
echo "error: unable to parse the version: '${TINY_USB_VERSION}'"
|
|
usage
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -d ${INSTALL_PATH}/tinyusb/${TINY_USB_VERSION} ]]
|
|
then
|
|
echo "installing Tiny USB ${TINY_USB_VERSION}"
|
|
|
|
tar_file="${TINY_USB_VERSION}.tar.gz"
|
|
wget https://github.com/hathach/tinyusb/archive/refs/tags/${TINY_USB_VERSION}.tar.gz -P ${INSTALL_PATH}
|
|
if [[ $? != 0 ]]
|
|
then
|
|
echo "error: unable to get tiny USB VERSION: ${TINY_USB_VERSION}"
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p ${INSTALL_PATH}/tinyusb
|
|
tar xzvf ${INSTALL_PATH}/${tar_file} -C ${INSTALL_PATH}/tinyusb
|
|
rm ${INSTALL_PATH}/${tar_file}
|
|
|
|
mv ${INSTALL_PATH}/tinyusb/tinyusb-${TINY_USB_VERSION} ${INSTALL_PATH}/tinyusb/${TINY_USB_VERSION}
|
|
|
|
echo "find Pico SDK to add TinyUSB support on compilation..."
|
|
tiny_usb_dir=$(find ${INSTALL_PATH}/sdk -name tinyusb -type d | grep lib | head -1)
|
|
if [[ ! -z ${tiny_usb_dir} ]]
|
|
then
|
|
cd ${tiny_usb_dir}/..
|
|
lib_dir=${PWD}
|
|
|
|
rmdir ${tiny_usb_dir}
|
|
ln -s ${INSTALL_PATH}/tinyusb/${TINY_USB_VERSION} tinyusb
|
|
|
|
echo "Tiny USB soft link added to Pico SDK: $(ls -lrt ${lib_dir}/tinyusb)"
|
|
fi
|
|
|
|
echo "Tiny USB installed successfully: ${INSTALL_PATH}/tinyusb/${TINY_USB_VERSION}"
|
|
exit 0
|
|
fi
|
|
|
|
echo "Tiny USB already exists: ${INSTALL_PATH}/tinyusb/${TINY_USB_VERSION}" |