FROM alpine:3.17.0 # Install toolchain RUN apk update && \ apk upgrade && \ apk add git \ python3 \ py3-pip \ cmake \ build-base \ libusb-dev \ bsd-compat-headers \ newlib-arm-none-eabi \ gcc-arm-none-eabi # Raspberry Pi Pico SDK ARG SDK_PATH=/usr/local/picosdk RUN git clone --depth 1 --branch 1.5.1 https://github.com/raspberrypi/pico-sdk $SDK_PATH && \ cd $SDK_PATH && \ git submodule update --init ENV PICO_SDK_PATH=$SDK_PATH # FreeRTOS ARG FREERTOS_PATH=/usr/local/freertos RUN git clone --depth 1 --branch V11.0.1 https://github.com/FreeRTOS/FreeRTOS-Kernel $FREERTOS_PATH && \ cd $FREERTOS_PATH && \ git submodule update --init --recursive ENV FREERTOS_KERNEL_PATH=$FREERTOS_PATH # Picotool installation RUN git clone --depth 1 --branch 1.1.2 https://github.com/raspberrypi/picotool.git /home/picotool && \ cd /home/picotool && \ mkdir build && \ cd build && \ cmake .. && \ make && \ cp /home/picotool/build/picotool /bin/picotool && \ rm -rf /home/picotool