diff --git a/make/project_config.mk b/make/project_config.mk index 3c7eac5f0..912d20736 100644 --- a/make/project_config.mk +++ b/make/project_config.mk @@ -61,15 +61,14 @@ ifeq ("$(PYTHON)","") PYTHON=python endif -ifneq ("$(wildcard $(SDKCONFIG_DEFAULTS))","") +SDKCONFIG_DEFAULTS_FILES := $(foreach f,$(SDKCONFIG_DEFAULTS),$(wildcard $(f))) +# for each sdkconfig.defaults file, also add sdkconfig.defaults.IDF_TARGET, if it exists +SDKCONFIG_DEFAULTS_FILES += $(foreach f,$(SDKCONFIG_DEFAULTS_FILES),$(wildcard $(f).$(IDF_TARGET))) + ifeq ($(OS),Windows_NT) -DEFAULTS_ARG:=--defaults $(shell cygpath -m $(SDKCONFIG_DEFAULTS)) -else -DEFAULTS_ARG:=--defaults $(SDKCONFIG_DEFAULTS) -endif -else -DEFAULTS_ARG:= +SDKCONFIG_DEFAULTS_FILES := $(shell cygpath -m $(SDKCONFIG_DEFAULTS_FILES)) endif +DEFAULTS_ARG := $(foreach f,$(SDKCONFIG_DEFAULTS_FILES),--defaults $(f)) # macro for running confgen.py define RunConfGen diff --git a/tools/ci/test_build_system.sh b/tools/ci/test_build_system.sh index 7a7f17dbd..7851bfcc7 100755 --- a/tools/ci/test_build_system.sh +++ b/tools/ci/test_build_system.sh @@ -272,16 +272,18 @@ function run_tests() ( make 2>&1 | grep "does not fit in configured flash size 1MB" ) || failure "Build didn't fail with expected flash size failure message" mv sdkconfig.bak sdkconfig - print_status "sdkconfig should have contents of both files: sdkconfig and sdkconfig.defaults" + print_status "sdkconfig should have contents of all files: sdkconfig, sdkconfig.defaults, sdkconfig.defaults.IDF_TARGET" make clean > /dev/null; rm -f sdkconfig.defaults; rm -f sdkconfig; echo "CONFIG_PARTITION_TABLE_OFFSET=0x10000" >> sdkconfig.defaults; + echo "CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y" >> sdkconfig.defaults.esp32; echo "CONFIG_PARTITION_TABLE_TWO_OTA=y" >> sdkconfig; make defconfig > /dev/null; grep "CONFIG_PARTITION_TABLE_OFFSET=0x10000" sdkconfig || failure "The define from sdkconfig.defaults should be into sdkconfig" + grep "CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y" sdkconfig || failure "The define from sdkconfig.defaults.esp32 should be into sdkconfig" grep "CONFIG_PARTITION_TABLE_TWO_OTA=y" sdkconfig || failure "The define from sdkconfig should be into sdkconfig" - rm sdkconfig sdkconfig.defaults + rm sdkconfig sdkconfig.defaults sdkconfig.defaults.esp32 make defconfig print_status "can build with phy_init_data" diff --git a/tools/ci/test_build_system_cmake.sh b/tools/ci/test_build_system_cmake.sh index 19a36d2d4..0b8c309af 100755 --- a/tools/ci/test_build_system_cmake.sh +++ b/tools/ci/test_build_system_cmake.sh @@ -306,18 +306,17 @@ function run_tests() grep "CONFIG_IDF_TARGET=\"${fake_target}\"" sdkconfig || failure "Project not configured correctly using idf.py reconfigure -D" grep "IDF_TARGET:STRING=${fake_target}" build/CMakeCache.txt || failure "IDF_TARGET not set in CMakeCache.txt using idf.py reconfigure -D" - # TODO Change the real target to other value than esp32 when we have - real_target=esp32 + real_target=esp32s2beta print_status "Can set target using idf.py set-target" clean_build_dir rm sdkconfig - idf.py set-target esp32 || failure "Failed to set target via idf.py set-target" + idf.py set-target ${real_target} || failure "Failed to set target via idf.py set-target" grep "CONFIG_IDF_TARGET=\"${real_target}\"" sdkconfig || failure "Project not configured correctly using idf.py set-target" grep "IDF_TARGET:STRING=${real_target}" build/CMakeCache.txt || failure "IDF_TARGET not set in CMakeCache.txt using idf.py set-target" # Clean up modifications for the fake target mv CMakeLists.txt.bak CMakeLists.txt - rm -rf components + rm -rf components sdkconfig build print_status "Can find toolchain file in component directory" clean_build_dir @@ -346,18 +345,19 @@ function run_tests() rm -rf main/main assert_built ${APP_BINS} ${BOOTLOADER_BINS} ${PARTITION_BIN} - print_status "sdkconfig should have contents both files: sdkconfig and sdkconfig.defaults" + print_status "sdkconfig should have contents of all files: sdkconfig, sdkconfig.defaults, sdkconfig.defaults.IDF_TARGET" idf.py clean > /dev/null; idf.py fullclean > /dev/null; rm -f sdkconfig.defaults; rm -f sdkconfig; echo "CONFIG_PARTITION_TABLE_OFFSET=0x10000" >> sdkconfig.defaults; + echo "CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y" >> sdkconfig.defaults.esp32; echo "CONFIG_PARTITION_TABLE_TWO_OTA=y" >> sdkconfig; idf.py reconfigure > /dev/null; grep "CONFIG_PARTITION_TABLE_OFFSET=0x10000" sdkconfig || failure "The define from sdkconfig.defaults should be into sdkconfig" + grep "CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y" sdkconfig || failure "The define from sdkconfig.defaults.esp32 should be into sdkconfig" grep "CONFIG_PARTITION_TABLE_TWO_OTA=y" sdkconfig || failure "The define from sdkconfig should be into sdkconfig" - rm sdkconfig; - rm sdkconfig.defaults; + rm sdkconfig sdkconfig.defaults sdkconfig.defaults.esp32 print_status "can build with phy_init_data" idf.py clean > /dev/null; diff --git a/tools/unit-test-app/Makefile b/tools/unit-test-app/Makefile index 5aef4f953..1217f7820 100644 --- a/tools/unit-test-app/Makefile +++ b/tools/unit-test-app/Makefile @@ -63,6 +63,8 @@ $(BINARIES_DIR)/%/$(PROJECT_NAME).bin: configs/% rm -f $(BUILDS_DIR)/$*/sdkconfig cat sdkconfig.defaults > $(BUILDS_DIR)/$*/sdkconfig.defaults echo "" >> $(BUILDS_DIR)/$*/sdkconfig.defaults # in case there is no trailing newline in sdkconfig.defaults + cat sdkconfig.defaults.esp32 >> $(BUILDS_DIR)/$*/sdkconfig.defaults + echo "" >> $(BUILDS_DIR)/$*/sdkconfig.defaults cat configs/$* >> $(BUILDS_DIR)/$*/sdkconfig.defaults # Build, tweaking paths to sdkconfig and sdkconfig.defaults diff --git a/tools/unit-test-app/sdkconfig.defaults b/tools/unit-test-app/sdkconfig.defaults index 947c23287..7cee27db6 100644 --- a/tools/unit-test-app/sdkconfig.defaults +++ b/tools/unit-test-app/sdkconfig.defaults @@ -6,8 +6,6 @@ CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partition_table_unit_test_app.csv" CONFIG_PARTITION_TABLE_FILENAME="partition_table_unit_test_app.csv" CONFIG_PARTITION_TABLE_OFFSET=0x8000 -CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y -CONFIG_ESP32_XTAL_FREQ_AUTO=y CONFIG_FREERTOS_HZ=1000 CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=3 @@ -17,7 +15,6 @@ CONFIG_MBEDTLS_HARDWARE_MPI=y CONFIG_MBEDTLS_MPI_USE_INTERRUPT=y CONFIG_MBEDTLS_HARDWARE_SHA=y CONFIG_SPI_FLASH_ENABLE_COUNTERS=y -CONFIG_ESP32_ULP_COPROC_ENABLED=y CONFIG_ESP_TASK_WDT=n CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS=y CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=7 diff --git a/tools/unit-test-app/sdkconfig.defaults.esp32 b/tools/unit-test-app/sdkconfig.defaults.esp32 new file mode 100644 index 000000000..1087b70b0 --- /dev/null +++ b/tools/unit-test-app/sdkconfig.defaults.esp32 @@ -0,0 +1,3 @@ +CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y +CONFIG_ESP32_XTAL_FREQ_AUTO=y +CONFIG_ESP32_ULP_COPROC_ENABLED=y diff --git a/tools/unit-test-app/sdkconfig.defaults.esp32s2beta b/tools/unit-test-app/sdkconfig.defaults.esp32s2beta index e8620adfc..74f96509f 100644 --- a/tools/unit-test-app/sdkconfig.defaults.esp32s2beta +++ b/tools/unit-test-app/sdkconfig.defaults.esp32s2beta @@ -1 +1,5 @@ +CONFIG_ESP32S2_DEFAULT_CPU_FREQ_240=y +CONFIG_ESP32S2_ULP_COPROC_ENABLED=y + +# Hardware MPI disabled, ref. IDF-757 CONFIG_MBEDTLS_HARDWARE_MPI=n