From 95c6d1859c1e88ecd8b3187aa0dc7c176c3aff88 Mon Sep 17 00:00:00 2001 From: Gunar Schorcht Date: Fri, 6 Dec 2019 11:15:35 +0100 Subject: [PATCH 1/2] cpu/esp32: fix for crashes of tests/pkg_spiffs ESP32 nodes can crash during SPI Flash write operations if required parts of the code are not in the IRAM but in the cached SPI Flash memory, which is disabled during the SPI Flash write operations. Therefore, the code of the SPIFFS package and the VFS module are now stored in the IRAM. --- cpu/esp32/ld/esp32.common.ld | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cpu/esp32/ld/esp32.common.ld b/cpu/esp32/ld/esp32.common.ld index f4ef2da23c24..9fafb736eff5 100644 --- a/cpu/esp32/ld/esp32.common.ld +++ b/cpu/esp32/ld/esp32.common.ld @@ -101,8 +101,9 @@ SECTIONS *esp_idf_spi_flash.a:*(.literal .text .literal.* .text.*) /* parts of RIOT that should to run in IRAM */ *core.a:*(.literal .text .literal.* .text.*) - /* *spiffs_fs.a:*(.literal .text .literal.* .text.*) */ - /* *spiffs.a:*(.literal .text .literal.* .text.*) */ + *spiffs_fs.a:*(.literal .text .literal.* .text.*) + *spiffs.a:*(.literal .text .literal.* .text.*) + *vfs.a:*(.literal .text .literal.* .text.*) /* part of RIOT ports that should run in IRAM */ *cpu.a:*(.literal .text .literal.* .text.*) From 35357b86a855f6514bc881bcd565f0f1328abaee Mon Sep 17 00:00:00 2001 From: Gunar Schorcht Date: Fri, 6 Dec 2019 11:29:44 +0100 Subject: [PATCH 2/2] cpu/esp*: reduce test timeouts for spiffs/littlefs To avoid that murdock times out before tests/pkg_spiffs and tests/pkg_littlefs time out, the configured test timeouts for these tests is reduced to 200 seconds which should be enough. An ESP32 needs an average of 60 seconds for these tests, while an ESP8266 needs in average 100 seconds. --- cpu/esp32/Makefile.include | 4 ++-- cpu/esp8266/Makefile.include | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cpu/esp32/Makefile.include b/cpu/esp32/Makefile.include index 6c2332ad2734..2883b829c902 100644 --- a/cpu/esp32/Makefile.include +++ b/cpu/esp32/Makefile.include @@ -63,11 +63,11 @@ ifneq (,$(filter esp_eth,$(USEMODULE))) endif ifneq (,$(filter spiffs,$(USEMODULE))) - export RIOT_TEST_TIMEOUT = 300 + export RIOT_TEST_TIMEOUT = 120 endif ifneq (,$(filter littlefs,$(USEMODULE))) - export RIOT_TEST_TIMEOUT = 300 + export RIOT_TEST_TIMEOUT = 120 endif # ESP32 pseudomodules diff --git a/cpu/esp8266/Makefile.include b/cpu/esp8266/Makefile.include index a69c47c3b991..b4a134cc0c97 100644 --- a/cpu/esp8266/Makefile.include +++ b/cpu/esp8266/Makefile.include @@ -47,11 +47,11 @@ ifneq (, $(filter esp_gdbstub, $(USEMODULE))) endif ifneq (, $(filter spiffs, $(USEMODULE))) - export RIOT_TEST_TIMEOUT = 300 + export RIOT_TEST_TIMEOUT = 200 endif ifneq (, $(filter littlefs, $(USEMODULE))) - export RIOT_TEST_TIMEOUT = 300 + export RIOT_TEST_TIMEOUT = 200 endif # regular Makefile