From c8df68e93432207825d108a3b9bc49f8803249fe Mon Sep 17 00:00:00 2001 From: Lawrence Nahum Date: Tue, 20 Aug 2024 16:16:42 +0200 Subject: [PATCH] esp-idf: update esp-idf to 5.3.1, also update debian to latest --- .github/workflows/github-actions-test.yml | 2 +- .gitlab-ci.yml | 10 +- Dockerfile | 6 +- Dockerfile.dev | 2 +- Dockerfile.qemu | 4 +- README.md | 6 +- dependencies.lock.esp32 | 70 +++++++++-- dependencies.lock.esp32s3 | 110 +++++++++++++++--- main/idf_component.yml | 2 +- partitionss3.csv | 4 +- .../sdkconfig_jade_noradio_prod.defaults | 1 - production/sdkconfig_jade_prod.defaults | 1 - .../sdkconfig_jade_v1_1_noradio_prod.defaults | 1 - production/sdkconfig_jade_v1_1_prod.defaults | 1 - 14 files changed, 170 insertions(+), 50 deletions(-) diff --git a/.github/workflows/github-actions-test.yml b/.github/workflows/github-actions-test.yml index 4012319c..22a4ce7c 100644 --- a/.github/workflows/github-actions-test.yml +++ b/.github/workflows/github-actions-test.yml @@ -13,6 +13,6 @@ jobs: - name: esp-idf build uses: espressif/esp-idf-ci-action@v1 with: - esp_idf_version: v5.2.2 + esp_idf_version: v5.3.1 target: esp32 command: idf.py -D SDKCONFIG_DEFAULTS="configs/sdkconfig_jade_v1_1.defaults" build all size-components size diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ac0f6918..dd561129 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,7 +7,7 @@ stages: - test - deploy -image: blockstream/verde@sha256:fa0abe7cef1f0a80c2b2ec0477cadc3e629eb74c8a79a0c555062da0275df035 +image: blockstream/verde@sha256:c6b59066998c138c7e43a8bc12ed6f9e83ebe3476ab4c5b73619390c495ab948 test_format: tags: @@ -337,10 +337,10 @@ test_flash_qemu_psram: tags: - esp32s3flasher variables: - IDF_TOOLS_PATH: "/home/gitlab-runner/.idf/522" + IDF_TOOLS_PATH: "/home/gitlab-runner/.idf/531" script: - cp build*/sdkconfig ./ - - . $HOME/esp/esp-idf-5.2.2/export.sh + - . $HOME/esp/esp-idf-5.3.1/export.sh - ./ci_flash.sh esp32s3 test_flash_artifact: @@ -363,10 +363,10 @@ test_gcov: - esp32s3flasher stage: build variables: - IDF_TOOLS_PATH: "/home/gitlab-runner/.idf/522" + IDF_TOOLS_PATH: "/home/gitlab-runner/.idf/531" script: - cp configs/sdkconfig_display_ttgo_tdisplays3_gcov_ci.defaults sdkconfig.defaults - - . $HOME/esp/esp-idf-5.2.2/export.sh + - . $HOME/esp/esp-idf-5.3.1/export.sh - idf.py all size-components size - ./tools/fwprep.py build/jade.bin build - ./tools/mkindex.py build $(basename $(ls build/*_fw.bin) | cut -d'_' -f1) diff --git a/Dockerfile b/Dockerfile index 44e603b0..26f33b9f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM debian:bookworm@sha256:fac2c0fd33e88dfd3bc88a872cfb78dcb167e74af6162d31724df69e482f886c as base +FROM debian:bookworm@sha256:b8084b1a576c5504a031936e1132574f4ce1d6cc7130bbcc25a28f074539ae6b as base RUN apt-get update -qq && apt-get upgrade --no-install-recommends --no-install-suggests -yqq && apt-get install --no-install-recommends --no-install-suggests -yqq git wget libncurses-dev flex bison gperf libffi-dev libssl-dev dfu-util cmake ninja-build ccache build-essential ca-certificates ccache cmake curl make pkg-config python3 python3-dev python3-pip python3-setuptools python3-serial python3-click python3-cryptography python3-future python3-pyparsing python3-pyelftools python3-pkg-resources python3-wheel python3-venv python3-sphinx unzip bluez-tools bluez libusb-1.0-0 clang-format libglib2.0-dev libpixman-1-dev libgcrypt20-dev virtualenv libslirp-dev && apt-get -yqq autoremove && apt-get -yqq clean && rm -rf /var/lib/apt/lists/* /var/cache/* /tmp/* RUN update-alternatives --install /usr/bin/python python /usr/bin/python3 10 RUN python3 -m pip install --break-system-packages --user pycodestyle @@ -6,8 +6,8 @@ RUN python3 -m pip install --break-system-packages --user pycodestyle FROM base AS esp-idf # These ARGs are easily parseable (eg by HWI) -ARG ESP_IDF_BRANCH=v5.2.2 -ARG ESP_IDF_COMMIT=3b8741b172dc951e18509698dee938304bcf1523 +ARG ESP_IDF_BRANCH=v5.3.1 +ARG ESP_IDF_COMMIT=c8fc5f643b7a7b0d3b182d3df610844e3dc9bd74 RUN mkdir ~/esp && cd ~/esp && git clone --quiet --depth=1 --branch ${ESP_IDF_BRANCH} --single-branch --recursive --shallow-submodules https://github.com/espressif/esp-idf.git RUN cd ~/esp/esp-idf && git checkout ${ESP_IDF_COMMIT} && ./install.sh esp32 esp32s3 diff --git a/Dockerfile.dev b/Dockerfile.dev index d898f97a..fda188d6 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -1,4 +1,4 @@ -FROM blockstream/verde@sha256:fa0abe7cef1f0a80c2b2ec0477cadc3e629eb74c8a79a0c555062da0275df035 +FROM blockstream/verde@sha256:c6b59066998c138c7e43a8bc12ed6f9e83ebe3476ab4c5b73619390c495ab948 RUN echo "source /root/esp/esp-idf/export.sh" >> /etc/bash.bashrc diff --git a/Dockerfile.qemu b/Dockerfile.qemu index 754fdaba..4204e9ab 100644 --- a/Dockerfile.qemu +++ b/Dockerfile.qemu @@ -1,4 +1,4 @@ -FROM blockstream/verde@sha256:fa0abe7cef1f0a80c2b2ec0477cadc3e629eb74c8a79a0c555062da0275df035 as builder +FROM blockstream/verde@sha256:c6b59066998c138c7e43a8bc12ed6f9e83ebe3476ab4c5b73619390c495ab948 as builder ARG SDK_CONFIG=configs/sdkconfig_qemu_psram.defaults @@ -12,7 +12,7 @@ RUN ./tools/fwprep.py build/jade.bin build ENV PATH=$PATH:/jade/main/qemu RUN make-flash-img.sh -FROM debian:bookworm@sha256:fac2c0fd33e88dfd3bc88a872cfb78dcb167e74af6162d31724df69e482f886c +FROM debian:bookworm@sha256:b8084b1a576c5504a031936e1132574f4ce1d6cc7130bbcc25a28f074539ae6b RUN apt-get update -yqq && apt-get install -yqq libpixman-1-dev libglib2.0-dev libslirp-dev libncurses-dev diff --git a/README.md b/README.md index 6025984a..6c3b1f45 100644 --- a/README.md +++ b/README.md @@ -33,15 +33,15 @@ origin of the repo in the docker. Jade requires the esp-idf sdk. -More information is available in the [Espressif official guide](https://docs.espressif.com/projects/esp-idf/en/v5.2.2/esp32/get-started/index.html). +More information is available in the [Espressif official guide](https://docs.espressif.com/projects/esp-idf/en/v5.3.1/esp32/get-started/index.html). Get the esp-idf sdk and required tools: ``` mkdir ~/esp cd ~/esp -git clone -b v5.2.2 --recursive https://github.com/espressif/esp-idf.git -cd ~/esp/esp-idf && git checkout 3b8741b172dc951e18509698dee938304bcf1523 && ./install.sh --enable-gdbgui esp32 esp32s3 +git clone -b v5.3.1 --recursive https://github.com/espressif/esp-idf.git +cd ~/esp/esp-idf && git checkout c8fc5f643b7a7b0d3b182d3df610844e3dc9bd74 && ./install.sh --enable-gdbgui esp32 esp32s3 ``` Set up the environmental variables: diff --git a/dependencies.lock.esp32 b/dependencies.lock.esp32 index 70cb6732..6f6034a9 100644 --- a/dependencies.lock.esp32 +++ b/dependencies.lock.esp32 @@ -1,57 +1,103 @@ dependencies: espressif/button: component_hash: 1f5297fe16f0ee988dbb14b6f4c91782fe2baf85025bb15cc1e0093edd3fb2ee + dependencies: + - name: espressif/cmake_utilities + registry_url: https://components.espressif.com/ + require: private + version: 0.* + - name: idf + require: private + version: '>=4.0' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 3.2.0 espressif/cbor: component_hash: 440f4ee4504841cc9b4f3a8ef755776a612ac9dace355514c68b999868f990ff + dependencies: + - name: idf + require: private + version: '>=4.3' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 0.6.0~1 espressif/cmake_utilities: component_hash: 351350613ceafba240b761b4ea991e0f231ac7a9f59a9ee901f751bddc0bb18f + dependencies: + - name: idf + require: private + version: '>=4.1' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 0.5.3 espressif/esp32-camera: component_hash: a1933162caca04a3a3bb0dca00bb56fcb3c50cd3779ab2f2b03ad8536e9bd0d0 + dependencies: [] source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 2.0.9 espressif/esp_lcd_touch: component_hash: d4d8f2dc33205797169a97a02e0d89a8982f59fe0509129b54422052b8522f59 + dependencies: + - name: idf + require: private + version: '>=4.4.2' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 1.1.1 espressif/esp_lcd_touch_ft5x06: component_hash: 97759953d9436a365e9427078c5b04ecce4e6a50f50cf62c68cd6bfa229b812c + dependencies: + - name: espressif/esp_lcd_touch + registry_url: https://components.espressif.com/ + require: public + version: ^1.0.4 + - name: idf + require: private + version: '>=4.4.2' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 1.0.6 espressif/libsodium: component_hash: f6e982479a2389cb6868e8fb761cf23aba6c355a8090b3e906299807775f58a3 + dependencies: + - name: idf + require: private + version: '>=4.2' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 1.0.20~1 espressif/nghttp: component_hash: 5e55c2fc982f7ddd257818be86f50d60705f3fd3a39d709c399434e81d458e1e + dependencies: + - name: idf + require: private + version: '>=5.0' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 1.58.0 idf: - component_hash: null source: type: idf - version: 5.2.2 -manifest_hash: 1f401b7d54241af8d239f02c75a6eb517e08370167ac71c0599b91f070c5fae8 + version: 5.3.1 +direct_dependencies: +- espressif/button +- espressif/cbor +- espressif/cmake_utilities +- espressif/esp32-camera +- espressif/esp_lcd_touch +- espressif/esp_lcd_touch_ft5x06 +- espressif/libsodium +- espressif/nghttp +- idf +manifest_hash: 1422119db248864a898f4cc58cc2aea55e85b1fca83cc8d4bd38c34e222dbf4f target: esp32 -version: 1.0.0 +version: 2.0.0 diff --git a/dependencies.lock.esp32s3 b/dependencies.lock.esp32s3 index 43bb07c1..a07ed715 100644 --- a/dependencies.lock.esp32s3 +++ b/dependencies.lock.esp32s3 @@ -1,81 +1,159 @@ dependencies: espressif/button: component_hash: 1f5297fe16f0ee988dbb14b6f4c91782fe2baf85025bb15cc1e0093edd3fb2ee + dependencies: + - name: espressif/cmake_utilities + registry_url: https://components.espressif.com/ + require: private + version: 0.* + - name: idf + require: private + version: '>=4.0' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 3.2.0 espressif/cbor: component_hash: 440f4ee4504841cc9b4f3a8ef755776a612ac9dace355514c68b999868f990ff + dependencies: + - name: idf + require: private + version: '>=4.3' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 0.6.0~1 espressif/cmake_utilities: component_hash: 351350613ceafba240b761b4ea991e0f231ac7a9f59a9ee901f751bddc0bb18f + dependencies: + - name: idf + require: private + version: '>=4.1' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 0.5.3 espressif/esp-dsp: component_hash: 3e7bbd487f1357a1d4944d0c85966d049501ea281b8a4c7f93f7cfedd5b7f23d + dependencies: + - name: idf + require: private + version: '>=4.2' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 1.4.12 espressif/esp32-camera: component_hash: a1933162caca04a3a3bb0dca00bb56fcb3c50cd3779ab2f2b03ad8536e9bd0d0 + dependencies: [] source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 2.0.9 espressif/esp_lcd_touch: component_hash: d4d8f2dc33205797169a97a02e0d89a8982f59fe0509129b54422052b8522f59 + dependencies: + - name: idf + require: private + version: '>=4.4.2' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 1.1.1 espressif/esp_lcd_touch_ft5x06: component_hash: 97759953d9436a365e9427078c5b04ecce4e6a50f50cf62c68cd6bfa229b812c + dependencies: + - name: espressif/esp_lcd_touch + registry_url: https://components.espressif.com/ + require: public + version: ^1.0.4 + - name: idf + require: private + version: '>=4.4.2' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 1.0.6 espressif/esp_tinyusb: component_hash: f151d680d6847bfcfd5d8eb6d1c3ff926c208e6b963b2e83643a141bc70baa15 + dependencies: + - name: idf + require: private + version: '>=5.0' + - name: espressif/tinyusb + registry_url: https://components.espressif.com/ + require: public + version: '>=0.14.2' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 1.4.4 espressif/libsodium: component_hash: f6e982479a2389cb6868e8fb761cf23aba6c355a8090b3e906299807775f58a3 + dependencies: + - name: idf + require: private + version: '>=4.2' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 1.0.20~1 espressif/nghttp: component_hash: 5e55c2fc982f7ddd257818be86f50d60705f3fd3a39d709c399434e81d458e1e + dependencies: + - name: idf + require: private + version: '>=5.0' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service version: 1.58.0 espressif/tinyusb: component_hash: 256fd8aee92ae9f1014538b8601508907a2da386b64f6d42f35a67f9288d1b20 + dependencies: + - name: idf + require: private + version: '>=5.0' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service + targets: + - esp32s2 + - esp32s3 + - esp32p4 version: 0.15.0~9 espressif/usb_host_msc: component_hash: fb036253308af19de381558560f3a57ead7d2139cf5212b684a408caeb7753cb + dependencies: + - name: idf + require: private + version: '>=4.4.1' source: - service_url: https://api.components.espressif.com/ + registry_url: https://components.espressif.com/ type: service + targets: + - esp32s2 + - esp32s3 + - esp32p4 version: 1.1.2 idf: - component_hash: null source: type: idf - version: 5.2.2 -manifest_hash: a71d5a8d6dfacd88754066af10bbd322320a68f03e2842b3633eb0f7b4644801 + version: 5.3.1 +direct_dependencies: +- espressif/button +- espressif/cbor +- espressif/cmake_utilities +- espressif/esp-dsp +- espressif/esp32-camera +- espressif/esp_lcd_touch +- espressif/esp_lcd_touch_ft5x06 +- espressif/esp_tinyusb +- espressif/libsodium +- espressif/nghttp +- espressif/tinyusb +- espressif/usb_host_msc +- idf +manifest_hash: 1422119db248864a898f4cc58cc2aea55e85b1fca83cc8d4bd38c34e222dbf4f target: esp32s3 -version: 1.0.0 +version: 2.0.0 diff --git a/main/idf_component.yml b/main/idf_component.yml index f9df39dd..ffac3e00 100644 --- a/main/idf_component.yml +++ b/main/idf_component.yml @@ -27,4 +27,4 @@ dependencies: rules: - if: "target in [esp32s3]" idf: - version: "==5.2.2" + version: "==5.3.1" diff --git a/partitionss3.csv b/partitionss3.csv index dfc2d562..09015462 100644 --- a/partitionss3.csv +++ b/partitionss3.csv @@ -2,7 +2,7 @@ # Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0xA000, 0x10000, otadata, data, ota, 0x1A000, 0x2000, encrypted -ota_0, app, ota_0, , 4011K, -ota_1, app, ota_1, , 4011K, +ota_0, app, ota_0, , 4024K, +ota_1, app, ota_1, , 4024K, nvs_key, data, nvs_keys,, 4K, encrypted attest, data,,, 4K, diff --git a/production/sdkconfig_jade_noradio_prod.defaults b/production/sdkconfig_jade_noradio_prod.defaults index 0d0d45ec..de66d6e8 100644 --- a/production/sdkconfig_jade_noradio_prod.defaults +++ b/production/sdkconfig_jade_noradio_prod.defaults @@ -84,7 +84,6 @@ CONFIG_SECURE_BOOT=y CONFIG_SECURE_BOOT_BUILD_SIGNED_BINARIES=n CONFIG_SECURE_DISABLE_ROM_DL_MODE=y CONFIG_SECURE_FLASH_ENCRYPTION_MODE_RELEASE=y -CONFIG_SECURE_FLASH_ENCRYPT_ONLY_IMAGE_LEN_IN_APP_PART=y CONFIG_SECURE_FLASH_ENC_ENABLED=y CONFIG_SPIFFS_CACHE=n CONFIG_SPIFFS_GC_MAX_RUNS=1 diff --git a/production/sdkconfig_jade_prod.defaults b/production/sdkconfig_jade_prod.defaults index 223d47d5..579772b9 100644 --- a/production/sdkconfig_jade_prod.defaults +++ b/production/sdkconfig_jade_prod.defaults @@ -96,7 +96,6 @@ CONFIG_SECURE_BOOT=y CONFIG_SECURE_BOOT_BUILD_SIGNED_BINARIES=n CONFIG_SECURE_DISABLE_ROM_DL_MODE=y CONFIG_SECURE_FLASH_ENCRYPTION_MODE_RELEASE=y -CONFIG_SECURE_FLASH_ENCRYPT_ONLY_IMAGE_LEN_IN_APP_PART=y CONFIG_SECURE_FLASH_ENC_ENABLED=y CONFIG_SPIFFS_CACHE=n CONFIG_SPIFFS_GC_MAX_RUNS=1 diff --git a/production/sdkconfig_jade_v1_1_noradio_prod.defaults b/production/sdkconfig_jade_v1_1_noradio_prod.defaults index 29d8ed06..4718189b 100644 --- a/production/sdkconfig_jade_v1_1_noradio_prod.defaults +++ b/production/sdkconfig_jade_v1_1_noradio_prod.defaults @@ -85,7 +85,6 @@ CONFIG_SECURE_BOOT=y CONFIG_SECURE_BOOT_BUILD_SIGNED_BINARIES=n CONFIG_SECURE_DISABLE_ROM_DL_MODE=y CONFIG_SECURE_FLASH_ENCRYPTION_MODE_RELEASE=y -CONFIG_SECURE_FLASH_ENCRYPT_ONLY_IMAGE_LEN_IN_APP_PART=y CONFIG_SECURE_FLASH_ENC_ENABLED=y CONFIG_SPIFFS_CACHE=n CONFIG_SPIFFS_GC_MAX_RUNS=1 diff --git a/production/sdkconfig_jade_v1_1_prod.defaults b/production/sdkconfig_jade_v1_1_prod.defaults index 437efdfe..27479d48 100644 --- a/production/sdkconfig_jade_v1_1_prod.defaults +++ b/production/sdkconfig_jade_v1_1_prod.defaults @@ -97,7 +97,6 @@ CONFIG_SECURE_BOOT=y CONFIG_SECURE_BOOT_BUILD_SIGNED_BINARIES=n CONFIG_SECURE_DISABLE_ROM_DL_MODE=y CONFIG_SECURE_FLASH_ENCRYPTION_MODE_RELEASE=y -CONFIG_SECURE_FLASH_ENCRYPT_ONLY_IMAGE_LEN_IN_APP_PART=y CONFIG_SECURE_FLASH_ENC_ENABLED=y CONFIG_SPIFFS_CACHE=n CONFIG_SPIFFS_GC_MAX_RUNS=1