From 72a31a62c7cb74a7e1262f94e72d26bd77d21b71 Mon Sep 17 00:00:00 2001 From: "Michael (XIAO Xufeng)" Date: Thu, 24 Sep 2020 22:49:12 +0800 Subject: [PATCH 1/2] ci: add esp32s3 into template app build --- tools/ci/build_template_app.sh | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/ci/build_template_app.sh b/tools/ci/build_template_app.sh index 73195b1b31..be09b565dc 100755 --- a/tools/ci/build_template_app.sh +++ b/tools/ci/build_template_app.sh @@ -24,7 +24,7 @@ gen_configs() { echo "CONFIG_COMPILER_OPTIMIZATION_PERF=y" > esp-idf-template/sdkconfig.ci.O2 echo "CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF=y" >> esp-idf-template/sdkconfig.ci.O2 - # Only built in make, because CMake already build this config in pre_build job + # This part will be built in earlier stage (pre_build job) with only cmake. Built with make in later stage # CONFIG_COMPILER_OPTIMIZATION_DEFAULT with flag -Og echo "CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y" > esp-idf-template/sdkconfig.ci2.Og echo "CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG=y" >> esp-idf-template/sdkconfig.ci2.Og @@ -72,18 +72,18 @@ build_stage2() { CONFIG_STR=$(get_config_str sdkconfig.ci.*=) search_cmake esp32 ${CONFIG_STR} search_cmake esp32s2 ${CONFIG_STR} + search_cmake esp32s3 ${CONFIG_STR} CONFIG_STR=$(get_config_str sdkconfig.ci.*= sdkconfig.ci2.*=) search_make esp32 ${CONFIG_STR} - search_make esp32s2 ${CONFIG_STR} build build_list_1.json CONFIG_STR=$(get_config_str sdkconfig.ci3.*=) - search_cmake esp32 ${CONFIG_STR} search_make esp32 ${CONFIG_STR} + search_cmake esp32 ${CONFIG_STR} search_cmake esp32s2 ${CONFIG_STR} - search_make esp32s2 ${CONFIG_STR} + search_cmake esp32s3 ${CONFIG_STR} # Override EXTRA_CFLAGS and EXTRA_CXXFLAGS in the environment export EXTRA_CFLAGS=${PEDANTIC_CFLAGS/-Werror=unused-variable -Werror=unused-but-set-variable -Werror=unused-function/} @@ -95,6 +95,7 @@ build_stage1() { CONFIG_STR=$(get_config_str sdkconfig.ci2.*=) search_cmake esp32 ${CONFIG_STR} search_cmake esp32s2 ${CONFIG_STR} + search_cmake esp32s3 ${CONFIG_STR} build } From 953c046550246ae9197ded40737a50e03c0b58e2 Mon Sep 17 00:00:00 2001 From: "Michael (XIAO Xufeng)" Date: Wed, 30 Sep 2020 16:24:27 +0800 Subject: [PATCH 2/2] esp32s3/bootloader: extend IRAM usage to 0x6000 The bootloader cannot fit in the size of iram_loader_seg when built under -O0. Extend the IRAM size to fix this. --- .../bootloader/subproject/main/ld/esp32s3/bootloader.ld | 4 ++-- components/esp32s3/ld/esp32s3.ld | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/bootloader/subproject/main/ld/esp32s3/bootloader.ld b/components/bootloader/subproject/main/ld/esp32s3/bootloader.ld index 9822ee9a02..cfef023bf9 100644 --- a/components/bootloader/subproject/main/ld/esp32s3/bootloader.ld +++ b/components/bootloader/subproject/main/ld/esp32s3/bootloader.ld @@ -6,8 +6,8 @@ MEMORY { - iram_seg (RWX) : org = 0x403B8000, len = 0x4000 - iram_loader_seg (RWX) : org = 0x403BC000, len = 0x4000 + iram_seg (RWX) : org = 0x403B6000, len = 0x4000 + iram_loader_seg (RWX) : org = 0x403BA000, len = 0x6000 dram_seg (RW) : org = 0x3FCD0000, len = 0x4000 } diff --git a/components/esp32s3/ld/esp32s3.ld b/components/esp32s3/ld/esp32s3.ld index 33d16c902a..e35dd1c25b 100644 --- a/components/esp32s3/ld/esp32s3.ld +++ b/components/esp32s3/ld/esp32s3.ld @@ -11,7 +11,7 @@ #define SRAM_IRAM_START 0x40370000 #define SRAM_DRAM_START 0x3FC80000 #define I_D_SRAM_OFFSET (SRAM_IRAM_START - SRAM_DRAM_START) -#define SRAM_DRAM_END 0x403BC000 - I_D_SRAM_OFFSET /* 2nd stage bootloader iram_loader_seg start address */ +#define SRAM_DRAM_END 0x403BA000 - I_D_SRAM_OFFSET /* 2nd stage bootloader iram_loader_seg start address */ #define SRAM_IRAM_ORG (SRAM_IRAM_START + CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE) #define SRAM_DRAM_ORG (SRAM_DRAM_START + CONFIG_ESP32S3_INSTRUCTION_CACHE_SIZE)