@@ -6,7 +6,7 @@ RUN apt-get update \
66 bzip2 \
77 unzip
88
9- ARG GCC_URI=https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/10-2020q4 /gcc-arm-none-eabi-10-2020-q4-major -x86_64-linux.tar.bz2
9+ ARG GCC_URI=https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/10.3-2021.10 /gcc-arm-none-eabi-10.3-2021.10 -x86_64-linux.tar.bz2
1010RUN mkdir -p /tmp/dc-downloads /tmp/dc-extracted/gcc /tmp/dc-extracted/cmake \
1111 && curl -o /tmp/dc-downloads/gcc-arm.tar.bz2 $GCC_URI \
1212 && bunzip2 -d /tmp/dc-downloads/gcc-arm.tar.bz2 \
@@ -17,27 +17,6 @@ RUN curl -o /tmp/dc-downloads/cmake.sh $CMAKE_SCRIPT \
1717 && chmod +x /tmp/dc-downloads/cmake.sh \
1818 && bash /tmp/dc-downloads/cmake.sh --skip-license --prefix=/tmp/dc-extracted/cmake
1919
20- ARG IDF_URI=https://dl.espressif.com/dl/esp-idf/releases/esp-idf-v3.3.5.zip
21- RUN curl -o /tmp/dc-downloads/esp-idf.zip $IDF_URI \
22- && unzip -d /tmp/dc-extracted/esp-idf /tmp/dc-downloads/esp-idf.zip
23-
24- ARG IDF_LIBS_URI=https://dl.cloudsmith.io/public/net-nanoframework/internal-build-tools/raw/names/IDF_libs/versions/v3.3.5/IDF_libs-v3.3.5.zip
25- RUN curl -o /tmp/dc-downloads/esp-idf-libs.zip $IDF_LIBS_URI -L \
26- && unzip -d /tmp/dc-extracted/esp-idf-libs /tmp/dc-downloads/esp-idf-libs.zip
27-
28- ARG IDF_LIBS_URI=https://dl.cloudsmith.io/public/net-nanoframework/internal-build-tools/raw/names/IDF_libs/versions/v3.3.5_BLE/IDF_libs-v3.3.5_BLE.zip
29- RUN curl -o /tmp/dc-downloads/esp-idf-libs-ble.zip $IDF_LIBS_URI -L \
30- && unzip -d /tmp/dc-extracted/esp-idf-libs_BLE /tmp/dc-downloads/esp-idf-libs-ble.zip
31-
32- ARG IDF_LIBS_URI=https://dl.cloudsmith.io/public/net-nanoframework/internal-build-tools/raw/names/IDF_libs/versions/v3.3.5_V3/IDF_libs-v3.3.5_V3.zip
33- RUN curl -o /tmp/dc-downloads/esp-idf-libs-v3.zip $IDF_LIBS_URI -L \
34- && unzip -d /tmp/dc-extracted/esp-idf-libs_V3 /tmp/dc-downloads/esp-idf-libs-v3.zip
35-
36- ARG XTENSA_URI=https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-97-gc752ad5-5.2.0.tar.gz
37- RUN mkdir -p /tmp/dc-extracted/xtensa \
38- && curl -o /tmp/dc-downloads/xtensa.tar.gz $XTENSA_URI \
39- && tar -xzf /tmp/dc-downloads/xtensa.tar.gz -C /tmp/dc-extracted/xtensa --strip-components 1
40-
4120# This is TI XDC tools for linux. Cheack all versions here: http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc/index.html
4221ARG TI_TOOL_URL=http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc/3_62_00_08/exports/xdccore/xdctools_3_62_00_08_core_linux.zip
4322RUN mkdir -p /tmp/dc-extracted/titools \
@@ -66,11 +45,11 @@ RUN apt-get update \
6645 srecord \
6746 python3 \
6847 python3-pip \
69- nodejs
48+ nodejs \
49+ libffi-dev
7050
7151# Create needed directories
7252RUN mkdir -p /usr/local/bin/gcc \
73- && mkdir -p /usr/local/bin/xtensa \
7453 && mkdir -p /usr/local/bin/titools
7554
7655# Clone repos for STM32 including AzureRTOS
@@ -87,8 +66,16 @@ RUN git clone --branch mbedtls-2.26.0 https://github.com/ARMmbed/mbedtls.git --d
8766# Clone FreeRTOS and what is needed for ESP32
8867RUN git clone --branch V10.4.1-kernel-only https://github.com/FreeRTOS/FreeRTOS-Kernel.git --depth 1 ./sources/FreeRTOS \
8968 && git clone --branch 5.5.1 https://github.com/ARM-software/CMSIS_5.git --depth 1 ./sources/CMSIS_5 \
90- && git clone --branch STABLE-2_0_3_RELEASE https://git.savannah.nongnu.org/git/lwip.git --depth 1 ./sources/lwip \
9169 && git clone --branch nf-build https://github.com/nanoframework/spiffs.git --depth 1 ./sources/spiffs
70+
71+ # The certificate of this one is not prolely propagated in the base image, ignoring the verification of this clone
72+ ENV GIT_SSL_NO_VERIFY=1
73+ RUN git clone --branch STABLE-2_0_3_RELEASE https://git.savannah.nongnu.org/git/lwip.git --depth 1 ./sources/lwip
74+ ENV GIT_SSL_NO_VERIFY=0
75+
76+ # Clone ESP-IDF
77+ RUN git clone --branch v4.3.1 https://github.com/espressif/esp-idf --depth 1 --recursive ./sources/esp-idf
78+
9279# Clone what is needed for TI
9380RUN git clone --branch 4.10.00.07 https://github.com/nanoframework/SimpleLink_CC32xx_SDK.git --depth 1 ./sources/SimpleLinkCC32 \
9481 # you can't use the nanoFramework repository as it's Windows only
@@ -100,11 +87,6 @@ RUN git clone --branch 4.10.00.07 https://github.com/nanoframework/SimpleLink_CC
10087# Copy from our other container
10188COPY --from=downloader /tmp/dc-extracted/gcc /usr/local/bin/gcc
10289COPY --from=downloader /tmp/dc-extracted/cmake /usr
103- COPY --from=downloader /tmp/dc-extracted/esp-idf /sources/esp-idf
104- COPY --from=downloader /tmp/dc-extracted/esp-idf-libs_BLE /sources/esp-idf-libs_BLE
105- COPY --from=downloader /tmp/dc-extracted/esp-idf-libs_V3 /sources/esp-idf-libs_V3
106- COPY --from=downloader /tmp/dc-extracted/esp-idf-libs /sources/esp-idf-libs
107- COPY --from=downloader /tmp/dc-extracted/xtensa /usr/local/bin/xtensa
10890COPY --from=downloader /tmp/dc-extracted/titools/xdctools_3_62_00_08_core /usr/local/bin/titools
10991# COPY ./scripts/git-pull-repos.sh /usr/local/git-pull-repos.sh
11092
@@ -118,6 +100,12 @@ RUN mkdir -p /usr/local/bin/hex2dfu \
118100RUN ln -fs /usr/bin/python3 /usr/bin/python \
119101 && pip3 install pyserial
120102
103+ # Install ESP-IDF
104+ ENV IDF_PATH=/sources/esp-idf
105+ RUN python -m pip install -r $IDF_PATH/requirements.txt
106+ RUN $IDF_PATH/install.sh
107+ ENV PATH=$PATH:/$IDF_PATH/components/esptool_py/esptool:/$IDF_PATH/components/espcoredump:/$IDF_PATH/components/partition_table/:/$IDF_PATH/tools/:$IDF_PATH/components/app_update:/root/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin:/root/.espressif/tools/xtensa-esp32s2-elf/esp-2021r1-8.4.0/xtensa-esp32s2-elf/bin:/root/.espressif/tools/riscv32-esp-elf/esp-2021r1-8.4.0/riscv32-esp-elf/bin
108+
121109# Clean up downloaded files
122110RUN apt-get autoremove -y \
123111 && apt-get clean -y \
0 commit comments