From fa419ecf8e446233a63b06d533d8618125645f47 Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Mon, 9 Mar 2020 17:21:41 +0100 Subject: [PATCH 01/20] cpu/esp32: Use cpp FEATURE in Makefile.include --- cpu/esp32/Makefile.dep | 1 + cpu/esp32/Makefile.include | 7 ++----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/cpu/esp32/Makefile.dep b/cpu/esp32/Makefile.dep index a8c7d88606..cc32b9141b 100644 --- a/cpu/esp32/Makefile.dep +++ b/cpu/esp32/Makefile.dep @@ -5,6 +5,7 @@ include $(RIOTCPU)/esp_common/Makefile.dep ifneq (,$(filter cpp,$(FEATURES_USED))) USEMODULE += pthread BASELIBS += -lstdc++ + USEMODULE += esp_cxx endif ifneq (,$(filter esp_eth,$(USEMODULE))) diff --git a/cpu/esp32/Makefile.include b/cpu/esp32/Makefile.include index ac8d45e4f6..a2181360fa 100644 --- a/cpu/esp32/Makefile.include +++ b/cpu/esp32/Makefile.include @@ -21,10 +21,6 @@ BOOTLOADER_POS = 0x1000 # SPECIAL module dependencies # cannot be done in Makefile.dep since Makefile.dep is included too late -ifneq (,$(filter cpp,$(FEATURES_USED))) - USEMODULE += esp_cxx -endif - ifneq (,$(filter esp_now esp_wifi esp_spi_ram,$(USEMODULE))) # the ESP-IDF heap has to be used if any WiFi interface or SPI RAM is used USEMODULE += esp_idf_heap @@ -86,7 +82,8 @@ LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp32.rom.ld LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp32.rom.nanofmt.ld LINKFLAGS += -nostdlib -lgcc -Wl,-gc-sections -ifneq (,$(filter esp_cxx,$(USEMODULE))) + +ifneq (,$(filter cpp,$(FEATURES_USED))) UNDEF += $(BINDIR)/esp_cxx/cxa_guard.o endif From 584d03aae0e9fde9d76f87ec34bc6b94caeefe69 Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Mon, 9 Mar 2020 17:30:50 +0100 Subject: [PATCH 02/20] cpu/esp32: Remove special module dependency resolution --- cpu/esp32/Makefile.include | 8 -------- 1 file changed, 8 deletions(-) diff --git a/cpu/esp32/Makefile.include b/cpu/esp32/Makefile.include index a2181360fa..e3f04208da 100644 --- a/cpu/esp32/Makefile.include +++ b/cpu/esp32/Makefile.include @@ -18,14 +18,6 @@ FLASH_FREQ = 40m # DO NOT CHANGE FLASH_SIZE ?= 4 BOOTLOADER_POS = 0x1000 -# SPECIAL module dependencies -# cannot be done in Makefile.dep since Makefile.dep is included too late - -ifneq (,$(filter esp_now esp_wifi esp_spi_ram,$(USEMODULE))) - # the ESP-IDF heap has to be used if any WiFi interface or SPI RAM is used - USEMODULE += esp_idf_heap -endif - include $(RIOTCPU)/esp_common/Makefile.include # regular Makefile From 2b8976d935055b70fbddbb6fa0bb9ca882da281d Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Mon, 9 Mar 2020 17:53:46 +0100 Subject: [PATCH 03/20] cpu/esp32: Use periph_adc_ctrl as feature --- cpu/esp32/Makefile.dep | 4 ++++ cpu/esp32/Makefile.features | 1 + cpu/esp32/Makefile.include | 1 - 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/cpu/esp32/Makefile.dep b/cpu/esp32/Makefile.dep index cc32b9141b..2c1e6bf6f4 100644 --- a/cpu/esp32/Makefile.dep +++ b/cpu/esp32/Makefile.dep @@ -53,6 +53,10 @@ ifneq (,$(filter esp_rtc_timer_32k,$(USEMODULE))) USEMODULE += esp_rtc_timer endif +ifneq (,$(filter periph_adc periph_dac,$(USEMODULE))) + FEATURES_REQUIRED += periph_adc_ctrl +endif + ifneq (,$(filter periph_i2c,$(USEMODULE))) ifneq (,$(filter esp_i2c_hw,$(USEMODULE))) USEMODULE += core_thread_flags diff --git a/cpu/esp32/Makefile.features b/cpu/esp32/Makefile.features index b7bae5baaa..50faf56698 100644 --- a/cpu/esp32/Makefile.features +++ b/cpu/esp32/Makefile.features @@ -4,4 +4,5 @@ include $(RIOTCPU)/esp_common/Makefile.features FEATURES_PROVIDED += arch_esp32 FEATURES_PROVIDED += esp_wifi_enterprise +FEATURES_PROVIDED += periph_adc_ctrl FEATURES_PROVIDED += periph_rtc diff --git a/cpu/esp32/Makefile.include b/cpu/esp32/Makefile.include index e3f04208da..524f1ae157 100644 --- a/cpu/esp32/Makefile.include +++ b/cpu/esp32/Makefile.include @@ -37,7 +37,6 @@ PSEUDOMODULES += esp_wifi_enterprise USEMODULE += esp_idf_driver USEMODULE += esp_idf_esp32 USEMODULE += esp_idf_soc -USEMODULE += periph_adc_ctrl USEMODULE += pm_layered INCLUDES += -I$(RIOTCPU)/$(CPU)/vendor/ From 05c37edd426cab3a21e44b66465756724daed805 Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Mon, 9 Mar 2020 18:01:24 +0100 Subject: [PATCH 04/20] cpu/esp32: Move default modules to Makefile.dep --- cpu/esp32/Makefile.dep | 5 +++++ cpu/esp32/Makefile.include | 5 ----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cpu/esp32/Makefile.dep b/cpu/esp32/Makefile.dep index 2c1e6bf6f4..4171093892 100644 --- a/cpu/esp32/Makefile.dep +++ b/cpu/esp32/Makefile.dep @@ -2,6 +2,11 @@ include $(RIOTCPU)/esp_common/Makefile.dep +USEMODULE += esp_idf_driver +USEMODULE += esp_idf_esp32 +USEMODULE += esp_idf_soc +USEMODULE += pm_layered + ifneq (,$(filter cpp,$(FEATURES_USED))) USEMODULE += pthread BASELIBS += -lstdc++ diff --git a/cpu/esp32/Makefile.include b/cpu/esp32/Makefile.include index 524f1ae157..0cebe8907b 100644 --- a/cpu/esp32/Makefile.include +++ b/cpu/esp32/Makefile.include @@ -34,11 +34,6 @@ PSEUDOMODULES += esp_rtc_timer_32k PSEUDOMODULES += esp_spi_ram PSEUDOMODULES += esp_wifi_enterprise -USEMODULE += esp_idf_driver -USEMODULE += esp_idf_esp32 -USEMODULE += esp_idf_soc -USEMODULE += pm_layered - INCLUDES += -I$(RIOTCPU)/$(CPU)/vendor/ INCLUDES += -I$(RIOTCPU)/$(CPU)/vendor/esp-idf/include INCLUDES += -I$(RIOTCPU)/$(CPU)/vendor/esp-idf/include/esp32 From 2f158d7d194ec100f4d234e16e10b23dd109669f Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Mon, 9 Mar 2020 19:44:40 +0100 Subject: [PATCH 05/20] cpu/esp32: Evaluate cpp FEATURE with conditional expansion --- cpu/esp32/Makefile.dep | 1 - cpu/esp32/Makefile.include | 7 +++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/cpu/esp32/Makefile.dep b/cpu/esp32/Makefile.dep index 4171093892..c01b1e58a5 100644 --- a/cpu/esp32/Makefile.dep +++ b/cpu/esp32/Makefile.dep @@ -9,7 +9,6 @@ USEMODULE += pm_layered ifneq (,$(filter cpp,$(FEATURES_USED))) USEMODULE += pthread - BASELIBS += -lstdc++ USEMODULE += esp_cxx endif diff --git a/cpu/esp32/Makefile.include b/cpu/esp32/Makefile.include index 0cebe8907b..669629e719 100644 --- a/cpu/esp32/Makefile.include +++ b/cpu/esp32/Makefile.include @@ -68,10 +68,9 @@ LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp32.rom.ld LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp32.rom.nanofmt.ld LINKFLAGS += -nostdlib -lgcc -Wl,-gc-sections - -ifneq (,$(filter cpp,$(FEATURES_USED))) - UNDEF += $(BINDIR)/esp_cxx/cxa_guard.o -endif +# NOTE: This check can be turned into a normal conditional after #9913 is fixed +UNDEF += $(if $(filter cpp,$(FEATURES_USED)),$(BINDIR)/esp_cxx/cxa_guard.o) +BASELIBS += $(if $(filter cpp,$(FEATURES_USED)),-lstdc++) # additional flasher configuration for ESP32 QEMU ifneq (,$(filter esp_qemu,$(USEMODULE))) From 881d2459321b11e111210c201041549eb2a3e322 Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Mon, 9 Mar 2020 20:01:03 +0100 Subject: [PATCH 06/20] cpu/esp32: Evaluate esp_[now/wifi] modules with conditional expansion --- cpu/esp32/Makefile.include | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/cpu/esp32/Makefile.include b/cpu/esp32/Makefile.include index 669629e719..164aee6f1c 100644 --- a/cpu/esp32/Makefile.include +++ b/cpu/esp32/Makefile.include @@ -51,15 +51,6 @@ INCLUDES += -I$(RIOTCPU)/$(CPU) CFLAGS += -DSDK_NOT_USED -DCONFIG_FREERTOS_UNICORE=1 -DESP_PLATFORM CFLAGS += -DLOG_TAG_IN_BRACKETS -ifneq (,$(filter esp_now esp_wifi,$(USEMODULE))) - BASELIBS += -lcore -lrtc -lnet80211 -lpp -lcoexist - BASELIBS += -lwps -lwpa -lwpa2 -lphy -lstdc++ -endif - -ifneq (,$(filter esp_now,$(USEMODULE))) - BASELIBS += -lespnow -lmesh -endif - LINKFLAGS += -L$(RIOTCPU)/$(CPU)/ld/ LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp32.ld LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp32.common.ld @@ -68,7 +59,17 @@ LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp32.rom.ld LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp32.rom.nanofmt.ld LINKFLAGS += -nostdlib -lgcc -Wl,-gc-sections -# NOTE: This check can be turned into a normal conditional after #9913 is fixed +# Baselibs needed when using esp_wifi_any pseudomodule +_ESP_WIFI_ANY_BASELIBS = -lcore -lrtc -lnet80211 -lpp -lcoexist -lwps -lwpa -lwpa2 +_ESP_WIFI_ANY_BASELIBS += -lphy -lstdc++ + +# Baselibs needed when using esp_now module +_ESP_NOW_BASELIBS = -lespnow -lmesh + +# NOTE: These checks can be turned into a normal conditional when #9913 is fixed +BASELIBS += $(if $(filter esp_wifi_any,$(USEMODULE)),$(_ESP_WIFI_ANY_BASELIBS)) +BASELIBS += $(if $(filter esp_now,$(USEMODULE)),$(_ESP_NOW_BASELIBS)) + UNDEF += $(if $(filter cpp,$(FEATURES_USED)),$(BINDIR)/esp_cxx/cxa_guard.o) BASELIBS += $(if $(filter cpp,$(FEATURES_USED)),-lstdc++) From ea12a6b49305fbf3eb4ba508f5754c4c134a6aae Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Tue, 10 Mar 2020 10:48:56 +0100 Subject: [PATCH 07/20] cpu/esp8266/Makefile.include: Check modules in conditional expansion --- cpu/esp8266/Makefile.include | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/cpu/esp8266/Makefile.include b/cpu/esp8266/Makefile.include index ddfad8187b..34996ffc58 100644 --- a/cpu/esp8266/Makefile.include +++ b/cpu/esp8266/Makefile.include @@ -59,18 +59,14 @@ INCLUDES += -I$(ESP8266_RTOS_SDK_DIR)/components/spi_flash/include CFLAGS += -D__ESP_FILE__=__FILE__ -ifneq (,$(filter esp_gdbstub,$(USEMODULE))) - GDBSTUB_DIR ?= $(RIOTCPU)/$(CPU)/vendor/esp-gdbstub - CFLAGS += -DGDBSTUB_BREAK_ON_INIT=1 - INCLUDES += -I$(GDBSTUB_DIR) -endif +# NOTE: These can be turned into normal conditionals after #9913 is fixed +GDBSTUB_DIR ?= $(if $(filter esp_gdbstub,$(USEMODULE)),$(RIOTCPU)/$(CPU)/vendor/esp-gdbstub) +CFLAGS += $(if $(filter esp_gdbstub,$(USEMODULE)),-DGDBSTUB_BREAK_ON_INIT=1) +INCLUDES += $(if $(filter esp_gdbstub,$(USEMODULE)),-I$(GDBSTUB_DIR)) +BASELIBS += $(if $(filter esp_now, $(USEMODULE)), -lespnow) BASELIBS += -lgcc -lwpa -lcore -lnet80211 -lphy -lpp -lstdc++ -ifneq (, $(filter esp_now, $(USEMODULE))) - BASELIBS += -lespnow -endif - LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp8266.rom.ld LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp8266.riot-os.ld LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp8266.peripherals.ld From 48a62dcc8fa83d9771f11c08a7d92058470dfe34 Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Tue, 10 Mar 2020 11:01:38 +0100 Subject: [PATCH 08/20] cpu/esp: Move common dependencies to Makefile.dep --- cpu/esp_common/Makefile.dep | 16 ++++++++++++++++ cpu/esp_common/Makefile.include | 16 ---------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/cpu/esp_common/Makefile.dep b/cpu/esp_common/Makefile.dep index 58c80f4b85..2868cc3e29 100644 --- a/cpu/esp_common/Makefile.dep +++ b/cpu/esp_common/Makefile.dep @@ -1,5 +1,21 @@ # additional modules dependencies +# Modules used by ESP* + +USEMODULE += esp_common +USEMODULE += esp_common_periph +USEMODULE += esp_freertos +USEMODULE += esp_idf +USEMODULE += log +USEMODULE += newlib +USEMODULE += periph +USEMODULE += periph_hwrng +USEMODULE += periph_flash +USEMODULE += periph_uart +USEMODULE += random +USEMODULE += stdio_uart +USEMODULE += xtensa + # each device has SPI flash memory, but it has to be enabled explicitly ifneq (,$(filter esp_spiffs,$(USEMODULE))) USEMODULE += spiffs diff --git a/cpu/esp_common/Makefile.include b/cpu/esp_common/Makefile.include index 5003ba7fc1..e6a40f8cc8 100644 --- a/cpu/esp_common/Makefile.include +++ b/cpu/esp_common/Makefile.include @@ -49,22 +49,6 @@ PSEUDOMODULES += esp_qemu PSEUDOMODULES += esp_spiffs PSEUDOMODULES += esp_wifi_any -# Modules used by ESP* - -USEMODULE += esp_common -USEMODULE += esp_common_periph -USEMODULE += esp_freertos -USEMODULE += esp_idf -USEMODULE += log -USEMODULE += newlib -USEMODULE += periph -USEMODULE += periph_hwrng -USEMODULE += periph_flash -USEMODULE += periph_uart -USEMODULE += random -USEMODULE += stdio_uart -USEMODULE += xtensa - # Common includes INCLUDES += -I$(RIOTBOARD)/common/$(CPU)/include From ab1f88c69a5934ce9a4e916d58f23374c9a8fc24 Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Tue, 10 Mar 2020 11:41:21 +0100 Subject: [PATCH 09/20] cpu/esp: Evaluate esp_[wifi/now] modules with conditional expansion --- cpu/esp_common/Makefile.include | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/cpu/esp_common/Makefile.include b/cpu/esp_common/Makefile.include index e6a40f8cc8..278c704495 100644 --- a/cpu/esp_common/Makefile.include +++ b/cpu/esp_common/Makefile.include @@ -88,14 +88,9 @@ ifneq (,$(filter esp_qemu,$(USEMODULE))) CFLAGS += -DQEMU endif +# NOTE: These checks can be turned into normal conditionals when #9913 is fixed # use 32 priority levels if any WiFi interface or the ETH interface is used -ifneq (,$(filter esp_wifi esp_now esp_eth,$(USEMODULE))) - CFLAGS += -DSCHED_PRIO_LEVELS=32 -endif - -ifneq (,$(filter esp_wifi esp_now esp_eth,$(USEMODULE))) - INCLUDES += -I$(RIOTCPU)/esp_common/esp-wifi -endif +CFLAGS += $(if $(filter esp_wifi_any esp_eth,$(USEMODULE)),-DSCHED_PRIO_LEVELS=32) # The threads for handling the ESP hardware have the priorities from 2 to 4. # The priority of lwIP TCPIP thread should be lower than these priorities. From 7a30795a8c1007e2c8dfc62dfe2ae961b8497d8b Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Tue, 10 Mar 2020 11:49:42 +0100 Subject: [PATCH 10/20] cpu/esp: Move esp_[wifi/now] dependency resolution to Makefile.dep --- cpu/esp_common/Makefile.dep | 19 +++++++++++++++++++ cpu/esp_common/Makefile.include | 19 ------------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/cpu/esp_common/Makefile.dep b/cpu/esp_common/Makefile.dep index 2868cc3e29..5f01c83b98 100644 --- a/cpu/esp_common/Makefile.dep +++ b/cpu/esp_common/Makefile.dep @@ -16,6 +16,25 @@ USEMODULE += random USEMODULE += stdio_uart USEMODULE += xtensa +ifneq (,$(filter esp_wifi_enterprise,$(USEMODULE))) + FEATURES_REQUIRED += esp_wifi_enterprise + USEMODULE += esp_wifi +endif + +ifneq (,$(filter netdev_default gnrc_netdev_default,$(USEMODULE))) + ifneq (,$(filter lwip,$(USEMODULE))) + # for lwip, use esp_wifi as default netdev if no other netdev is enabled + ifeq (,$(filter esp_eth,$(USEMODULE))) + USEMODULE += esp_wifi + endif + else + # otherwise use esp_now as default netdev if no other netdev is enabled + ifeq (,$(filter esp_wifi esp_eth,$(USEMODULE))) + USEMODULE += esp_now + endif + endif +endif + # each device has SPI flash memory, but it has to be enabled explicitly ifneq (,$(filter esp_spiffs,$(USEMODULE))) USEMODULE += spiffs diff --git a/cpu/esp_common/Makefile.include b/cpu/esp_common/Makefile.include index 278c704495..5f01111fef 100644 --- a/cpu/esp_common/Makefile.include +++ b/cpu/esp_common/Makefile.include @@ -7,25 +7,6 @@ FLASH_MODE ?= dout # SPECIAL module dependencies # cannot be done in Makefile.dep since Makefile.dep is included too late -ifneq (,$(filter esp_wifi_enterprise,$(USEMODULE))) - FEATURES_REQUIRED += esp_wifi_enterprise - USEMODULE += esp_wifi -endif - -ifneq (,$(filter netdev_default gnrc_netdev_default,$(USEMODULE))) - ifneq (,$(filter lwip,$(USEMODULE))) - # for lwip, use esp_wifi as default netdev if no other netdev is enabled - ifeq (,$(filter esp_eth,$(USEMODULE))) - USEMODULE += esp_wifi - endif - else - # otherwise use esp_now as default netdev if no other netdev is enabled - ifeq (,$(filter esp_wifi esp_eth,$(USEMODULE))) - USEMODULE += esp_now - endif - endif -endif - ifneq (,$(filter esp_gdbstub,$(USEMODULE))) USEMODULE += esp_gdb endif From f918b97ec35e7dd4a17049ff068f8e660bb9235a Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Tue, 10 Mar 2020 11:57:42 +0100 Subject: [PATCH 11/20] cpu/esp: Move dependency resolution of esp_gdb to Makefile.dep --- cpu/esp_common/Makefile.dep | 4 ++++ cpu/esp_common/Makefile.include | 9 +-------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/cpu/esp_common/Makefile.dep b/cpu/esp_common/Makefile.dep index 5f01c83b98..b127095471 100644 --- a/cpu/esp_common/Makefile.dep +++ b/cpu/esp_common/Makefile.dep @@ -35,6 +35,10 @@ ifneq (,$(filter netdev_default gnrc_netdev_default,$(USEMODULE))) endif endif +ifneq (,$(filter esp_gdbstub,$(USEMODULE))) + USEMODULE += esp_gdb +endif + # each device has SPI flash memory, but it has to be enabled explicitly ifneq (,$(filter esp_spiffs,$(USEMODULE))) USEMODULE += spiffs diff --git a/cpu/esp_common/Makefile.include b/cpu/esp_common/Makefile.include index 5f01111fef..170266b889 100644 --- a/cpu/esp_common/Makefile.include +++ b/cpu/esp_common/Makefile.include @@ -7,10 +7,6 @@ FLASH_MODE ?= dout # SPECIAL module dependencies # cannot be done in Makefile.dep since Makefile.dep is included too late -ifneq (,$(filter esp_gdbstub,$(USEMODULE))) - USEMODULE += esp_gdb -endif - ifneq (,$(filter log_color,$(USEMODULE))) USEMODULE += esp_log_colored endif @@ -55,12 +51,9 @@ ASFLAGS += --longcalls --text-section-literals ARFLAGS = rcs CFLAGS_DBG ?= -ggdb -g3 -CFLAGS_OPT ?= -Os # override default CFLAGS_OPT in case module esp_gdb is enabled -ifneq (,$(filter esp_gdb,$(USEMODULE))) - CFLAGS_OPT = -Og -endif +CFLAGS_OPT ?= $(if $(filter esp_gdb,$(USEMODULE)),-Og,-Os) CFLAGS += $(CFLAGS_OPT) $(CFLAGS_DBG) From e61532efbe94d1d4d37f36beb48c17ff909b9c6b Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Tue, 10 Mar 2020 12:03:07 +0100 Subject: [PATCH 12/20] cpu/esp: Move dependency resolution of esp_log_colored to Makefile.dep --- cpu/esp_common/Makefile.dep | 4 ++++ cpu/esp_common/Makefile.include | 8 +------- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/cpu/esp_common/Makefile.dep b/cpu/esp_common/Makefile.dep index b127095471..68eec7c9c0 100644 --- a/cpu/esp_common/Makefile.dep +++ b/cpu/esp_common/Makefile.dep @@ -39,6 +39,10 @@ ifneq (,$(filter esp_gdbstub,$(USEMODULE))) USEMODULE += esp_gdb endif +ifneq (,$(filter log_color,$(USEMODULE))) + USEMODULE += esp_log_colored +endif + # each device has SPI flash memory, but it has to be enabled explicitly ifneq (,$(filter esp_spiffs,$(USEMODULE))) USEMODULE += spiffs diff --git a/cpu/esp_common/Makefile.include b/cpu/esp_common/Makefile.include index 170266b889..446999b446 100644 --- a/cpu/esp_common/Makefile.include +++ b/cpu/esp_common/Makefile.include @@ -7,10 +7,6 @@ FLASH_MODE ?= dout # SPECIAL module dependencies # cannot be done in Makefile.dep since Makefile.dep is included too late -ifneq (,$(filter log_color,$(USEMODULE))) - USEMODULE += esp_log_colored -endif - ifneq (,$(filter 4 5,$(LOG_LEVEL))) USEMODULE += esp_log_startup endif @@ -101,9 +97,7 @@ LINKFLAGS += -nostdlib -Wl,-gc-sections -Wl,-static # LINKFLAGS += -Wl,--verbose # LINKFLAGS += -Wl,--print-gc-sections -ifneq (,$(filter esp_log_colored,$(USEMODULE))) - BOOTLOADER_COLOR = _colors -endif +BOOTLOADER_COLOR = $(if $(filter esp_log_colored,$(USEMODULE)),_colors) ifneq (,$(filter esp_log_startup,$(USEMODULE))) BOOTLOADER_INFO = _info From fcfc15e19911fa89511fb8de97176382d14a37cb Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Tue, 10 Mar 2020 12:07:14 +0100 Subject: [PATCH 13/20] cpu/esp: Move dependency resolution of esp_log_startup to Makefile.dep --- cpu/esp_common/Makefile.dep | 4 ++++ cpu/esp_common/Makefile.include | 13 ++----------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/cpu/esp_common/Makefile.dep b/cpu/esp_common/Makefile.dep index 68eec7c9c0..476c169f94 100644 --- a/cpu/esp_common/Makefile.dep +++ b/cpu/esp_common/Makefile.dep @@ -43,6 +43,10 @@ ifneq (,$(filter log_color,$(USEMODULE))) USEMODULE += esp_log_colored endif +ifneq (,$(filter 4 5,$(LOG_LEVEL))) + USEMODULE += esp_log_startup +endif + # each device has SPI flash memory, but it has to be enabled explicitly ifneq (,$(filter esp_spiffs,$(USEMODULE))) USEMODULE += spiffs diff --git a/cpu/esp_common/Makefile.include b/cpu/esp_common/Makefile.include index 446999b446..3d9e91020f 100644 --- a/cpu/esp_common/Makefile.include +++ b/cpu/esp_common/Makefile.include @@ -4,13 +4,6 @@ # use flash mode dout by default to keep GPIO9 and GPIO10 free for use FLASH_MODE ?= dout -# SPECIAL module dependencies -# cannot be done in Makefile.dep since Makefile.dep is included too late - -ifneq (,$(filter 4 5,$(LOG_LEVEL))) - USEMODULE += esp_log_startup -endif - # ESP* pseudomodules PSEUDOMODULES += esp_gdb @@ -97,11 +90,9 @@ LINKFLAGS += -nostdlib -Wl,-gc-sections -Wl,-static # LINKFLAGS += -Wl,--verbose # LINKFLAGS += -Wl,--print-gc-sections +# NOTE: These checks can be turned into normal conditionals when #9913 is fixed BOOTLOADER_COLOR = $(if $(filter esp_log_colored,$(USEMODULE)),_colors) - -ifneq (,$(filter esp_log_startup,$(USEMODULE))) - BOOTLOADER_INFO = _info -endif +BOOTLOADER_INFO = $(if $(filter esp_log_startup,$(USEMODULE)),_info) BOOTLOADER_BIN = bootloader$(BOOTLOADER_COLOR)$(BOOTLOADER_INFO).bin From f46b0c2da300e1777050ecc2d4d5419b70cdfe51 Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Tue, 10 Mar 2020 14:25:48 +0100 Subject: [PATCH 14/20] boards/esp32: Move inclusion of boards_common_esp32 to common file --- boards/common/esp32/Makefile.dep | 2 ++ boards/esp32-mh-et-live-minikit/Makefile.dep | 2 -- boards/esp32-olimex-evb/Makefile.include | 2 -- boards/esp32-ttgo-t-beam/Makefile.dep | 2 -- boards/esp32-wemos-lolin-d32-pro/Makefile.dep | 1 - boards/esp32-wroom-32/Makefile.dep | 2 -- boards/esp32-wrover-kit/Makefile.dep | 2 -- 7 files changed, 2 insertions(+), 11 deletions(-) diff --git a/boards/common/esp32/Makefile.dep b/boards/common/esp32/Makefile.dep index 5472bf8b8d..09bfbf1579 100644 --- a/boards/common/esp32/Makefile.dep +++ b/boards/common/esp32/Makefile.dep @@ -1,3 +1,5 @@ +USEMODULE += boards_common_esp32 + ifneq (,$(filter saul_default,$(USEMODULE))) USEMODULE += saul_gpio endif diff --git a/boards/esp32-mh-et-live-minikit/Makefile.dep b/boards/esp32-mh-et-live-minikit/Makefile.dep index f19c2c1a36..29d6c99ba8 100644 --- a/boards/esp32-mh-et-live-minikit/Makefile.dep +++ b/boards/esp32-mh-et-live-minikit/Makefile.dep @@ -1,3 +1 @@ -USEMODULE += boards_common_esp32 - include $(RIOTBOARD)/common/esp32/Makefile.dep diff --git a/boards/esp32-olimex-evb/Makefile.include b/boards/esp32-olimex-evb/Makefile.include index 6367a3f004..3b80eba858 100644 --- a/boards/esp32-olimex-evb/Makefile.include +++ b/boards/esp32-olimex-evb/Makefile.include @@ -1,7 +1,5 @@ PSEUDOMODULES += olimex_esp32_gateway -USEMODULE += boards_common_esp32 - # enables esp_eth as default network device # cannot be done in Makefile.dep since Makefile.dep is included too late ifneq (,$(filter netdev_default gnrc_netdev_default,$(USEMODULE))) diff --git a/boards/esp32-ttgo-t-beam/Makefile.dep b/boards/esp32-ttgo-t-beam/Makefile.dep index 53b4915969..6c6d30e82b 100644 --- a/boards/esp32-ttgo-t-beam/Makefile.dep +++ b/boards/esp32-ttgo-t-beam/Makefile.dep @@ -2,6 +2,4 @@ ifneq (,$(filter esp32_ttgo_t_beam_v1_0,$(USEMODULE))) FEATURES_REQUIRED += periph_i2c endif -USEMODULE += boards_common_esp32 - include $(RIOTBOARD)/common/esp32/Makefile.dep diff --git a/boards/esp32-wemos-lolin-d32-pro/Makefile.dep b/boards/esp32-wemos-lolin-d32-pro/Makefile.dep index d8a584436c..8953d3dac0 100644 --- a/boards/esp32-wemos-lolin-d32-pro/Makefile.dep +++ b/boards/esp32-wemos-lolin-d32-pro/Makefile.dep @@ -1,4 +1,3 @@ -USEMODULE += boards_common_esp32 USEMODULE += esp_spi_ram include $(RIOTBOARD)/common/esp32/Makefile.dep diff --git a/boards/esp32-wroom-32/Makefile.dep b/boards/esp32-wroom-32/Makefile.dep index f19c2c1a36..29d6c99ba8 100644 --- a/boards/esp32-wroom-32/Makefile.dep +++ b/boards/esp32-wroom-32/Makefile.dep @@ -1,3 +1 @@ -USEMODULE += boards_common_esp32 - include $(RIOTBOARD)/common/esp32/Makefile.dep diff --git a/boards/esp32-wrover-kit/Makefile.dep b/boards/esp32-wrover-kit/Makefile.dep index f19c2c1a36..29d6c99ba8 100644 --- a/boards/esp32-wrover-kit/Makefile.dep +++ b/boards/esp32-wrover-kit/Makefile.dep @@ -1,3 +1 @@ -USEMODULE += boards_common_esp32 - include $(RIOTBOARD)/common/esp32/Makefile.dep From d24efc247c98213cce24427df65b296f670db79a Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Tue, 10 Mar 2020 14:30:05 +0100 Subject: [PATCH 15/20] boards/esp32-olimex-evb: Move inclusion of esp_eth to Makefile.dep --- boards/esp32-olimex-evb/Makefile.dep | 5 +++++ boards/esp32-olimex-evb/Makefile.include | 6 ------ 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/boards/esp32-olimex-evb/Makefile.dep b/boards/esp32-olimex-evb/Makefile.dep index 29d6c99ba8..1b7c4590a7 100644 --- a/boards/esp32-olimex-evb/Makefile.dep +++ b/boards/esp32-olimex-evb/Makefile.dep @@ -1 +1,6 @@ include $(RIOTBOARD)/common/esp32/Makefile.dep + +# enables esp_eth as default network device +ifneq (,$(filter netdev_default,$(USEMODULE))) + USEMODULE += esp_eth +endif diff --git a/boards/esp32-olimex-evb/Makefile.include b/boards/esp32-olimex-evb/Makefile.include index 3b80eba858..6d21df9fa5 100644 --- a/boards/esp32-olimex-evb/Makefile.include +++ b/boards/esp32-olimex-evb/Makefile.include @@ -1,9 +1,3 @@ PSEUDOMODULES += olimex_esp32_gateway -# enables esp_eth as default network device -# cannot be done in Makefile.dep since Makefile.dep is included too late -ifneq (,$(filter netdev_default gnrc_netdev_default,$(USEMODULE))) - USEMODULE += esp_eth -endif - include $(RIOTBOARD)/common/esp32/Makefile.include From 194b8a7aca7f15f6410a4bc2d61d81deb1823a2b Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Tue, 10 Mar 2020 14:36:09 +0100 Subject: [PATCH 16/20] boards/esp8266: Move common modules to common Makefile.dep --- boards/common/esp8266/Makefile.dep | 2 ++ boards/esp8266-esp-12x/Makefile.dep | 2 -- boards/esp8266-olimex-mod/Makefile.dep | 2 -- boards/esp8266-sparkfun-thing/Makefile.dep | 2 -- 4 files changed, 2 insertions(+), 6 deletions(-) diff --git a/boards/common/esp8266/Makefile.dep b/boards/common/esp8266/Makefile.dep index 5472bf8b8d..3c6d2aa12b 100644 --- a/boards/common/esp8266/Makefile.dep +++ b/boards/common/esp8266/Makefile.dep @@ -1,3 +1,5 @@ +USEMODULE += boards_common_esp8266 + ifneq (,$(filter saul_default,$(USEMODULE))) USEMODULE += saul_gpio endif diff --git a/boards/esp8266-esp-12x/Makefile.dep b/boards/esp8266-esp-12x/Makefile.dep index c87ee73360..c60e4b8da1 100644 --- a/boards/esp8266-esp-12x/Makefile.dep +++ b/boards/esp8266-esp-12x/Makefile.dep @@ -1,3 +1 @@ -USEMODULE += boards_common_esp8266 - include $(RIOTBOARD)/common/esp8266/Makefile.dep diff --git a/boards/esp8266-olimex-mod/Makefile.dep b/boards/esp8266-olimex-mod/Makefile.dep index c87ee73360..c60e4b8da1 100644 --- a/boards/esp8266-olimex-mod/Makefile.dep +++ b/boards/esp8266-olimex-mod/Makefile.dep @@ -1,3 +1 @@ -USEMODULE += boards_common_esp8266 - include $(RIOTBOARD)/common/esp8266/Makefile.dep diff --git a/boards/esp8266-sparkfun-thing/Makefile.dep b/boards/esp8266-sparkfun-thing/Makefile.dep index c87ee73360..c60e4b8da1 100644 --- a/boards/esp8266-sparkfun-thing/Makefile.dep +++ b/boards/esp8266-sparkfun-thing/Makefile.dep @@ -1,3 +1 @@ -USEMODULE += boards_common_esp8266 - include $(RIOTBOARD)/common/esp8266/Makefile.dep From 939a10813bc360b1aaa4c7e91bdd7ec784476192 Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Tue, 10 Mar 2020 15:45:23 +0100 Subject: [PATCH 17/20] cpu/esp_common: Check for esp_spi_ram with conditional expansion --- cpu/esp_common/Makefile.include | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/cpu/esp_common/Makefile.include b/cpu/esp_common/Makefile.include index 3d9e91020f..25f07ff154 100644 --- a/cpu/esp_common/Makefile.include +++ b/cpu/esp_common/Makefile.include @@ -62,23 +62,15 @@ ifneq (,$(filter lwip,$(USEMODULE))) endif # if SPI RAM is enabled, the qout flash mode has to be used -ifneq (,$(filter esp_spi_ram,$(USEMODULE))) - FLASH_MODE = qout - CFLAGS += -DFLASH_MODE_QOUT=1 -else - ifeq ($(FLASH_MODE), qio) - CFLAGS += -DFLASH_MODE_QIO=1 - endif - ifeq ($(FLASH_MODE), qout) - CFLAGS += -DFLASH_MODE_QOUT=1 - endif - ifeq ($(FLASH_MODE), dio) - CFLAGS += -DFLASH_MODE_DIO=1 - endif - ifeq ($(FLASH_MODE), dout) - CFLAGS += -DFLASH_MODE_DOUT=1 - endif -endif +# NOTE: These checks can be turned into normal conditionals when #9913 is fixed +_FLASH_MODE_PREV := $(FLASH_MODE) +FLASH_MODE = $(if $(filter esp_spi_ram,$(USEMODULE)),qout,$(_FLASH_MODE_PREV)) + +# set CFLAG for the correspondant FLASH_MODE +CFLAGS += $(if $(findstring qout,$(FLASH_MODE)),-DFLASH_MODE_QOUT=1) +CFLAGS += $(if $(findstring qio,$(FLASH_MODE)),-DFLASH_MODE_QIO=1) +CFLAGS += $(if $(findstring dio,$(FLASH_MODE)),-DFLASH_MODE_DIO=1) +CFLAGS += $(if $(findstring dout,$(FLASH_MODE)),-DFLASH_MODE_DOUT=1) BASELIBS += -lhal -lg -lc From 56972af3b4c03b1c152084489465b05a41d6b1d7 Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Mon, 23 Mar 2020 11:54:23 +0100 Subject: [PATCH 18/20] cpu/esp_common: Don't increase GNRC_NETIF_NUMOF on Makefile --- cpu/esp_common/Makefile.include | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/cpu/esp_common/Makefile.include b/cpu/esp_common/Makefile.include index 25f07ff154..2fab95ef5f 100644 --- a/cpu/esp_common/Makefile.include +++ b/cpu/esp_common/Makefile.include @@ -133,7 +133,6 @@ else endif # increase the test timeout for file system tests that use the SPI flash drive - ifneq (,$(filter spiffs,$(USEMODULE))) export RIOT_TEST_TIMEOUT = 120 endif @@ -141,17 +140,3 @@ endif ifneq (,$(filter littlefs,$(USEMODULE))) export RIOT_TEST_TIMEOUT = 120 endif - -# increase the number of netif for each enabled network interface - -ifneq (,$(filter esp_wifi,$(USEMODULE))) - $(eval GNRC_NETIF_NUMOF=$(shell echo $$(($(GNRC_NETIF_NUMOF)+1)))) -endif - -ifneq (,$(filter esp_now,$(USEMODULE))) - $(eval GNRC_NETIF_NUMOF=$(shell echo $$(($(GNRC_NETIF_NUMOF)+1)))) -endif - -ifneq (,$(filter esp_eth,$(USEMODULE))) - $(eval GNRC_NETIF_NUMOF=$(shell echo $$(($(GNRC_NETIF_NUMOF)+1)))) -endif From afc0ad4d57b5283106af77d157d4af1de4b025f1 Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Tue, 10 Mar 2020 16:03:36 +0100 Subject: [PATCH 19/20] cpu/esp_common: Set RIOT_TEST_TIMEOUT with conditional expansion --- cpu/esp_common/Makefile.include | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/cpu/esp_common/Makefile.include b/cpu/esp_common/Makefile.include index 2fab95ef5f..7774b40e7b 100644 --- a/cpu/esp_common/Makefile.include +++ b/cpu/esp_common/Makefile.include @@ -132,11 +132,7 @@ else FFLAGS += 0x10000 $(FLASHFILE).bin endif +# NOTE: These checks can be turned into normal conditionals when #9913 is fixed # increase the test timeout for file system tests that use the SPI flash drive -ifneq (,$(filter spiffs,$(USEMODULE))) - export RIOT_TEST_TIMEOUT = 120 -endif - -ifneq (,$(filter littlefs,$(USEMODULE))) - export RIOT_TEST_TIMEOUT = 120 -endif +RIOT_TEST_TIMEOUT = $(if $(filter spiffs littlefs,$(USEMODULE)),120) +$(call target-export-variables,test,RIOT_TEST_TIMEOUT) From 58320c943eb6c25b10809c64a63cfdc12abb6b3d Mon Sep 17 00:00:00 2001 From: Leandro Lanzieri Date: Tue, 10 Mar 2020 16:57:52 +0100 Subject: [PATCH 20/20] cpu/esp8266: Move common modules fo Makefile.dep --- cpu/esp8266/Makefile.dep | 11 +++++++++++ cpu/esp8266/Makefile.include | 11 ----------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/cpu/esp8266/Makefile.dep b/cpu/esp8266/Makefile.dep index 36cff9c75b..c6028b4235 100644 --- a/cpu/esp8266/Makefile.dep +++ b/cpu/esp8266/Makefile.dep @@ -2,6 +2,17 @@ include $(RIOTCPU)/esp_common/Makefile.dep +USEMODULE += esp_idf_esp8266 +USEMODULE += esp_idf_nvs_flash +USEMODULE += esp_idf_spi_flash +USEMODULE += esp_idf_util +USEMODULE += esp_idf_wpa_supplicant_crypto +USEMODULE += esp_sdk +USEMODULE += mtd +USEMODULE += newlib +USEMODULE += periph_common +USEMODULE += ps + ifneq (,$(filter periph_i2c,$(USEMODULE))) USEMODULE += esp_i2c_sw USEMODULE += periph_i2c_sw diff --git a/cpu/esp8266/Makefile.include b/cpu/esp8266/Makefile.include index 34996ffc58..1bbf335991 100644 --- a/cpu/esp8266/Makefile.include +++ b/cpu/esp8266/Makefile.include @@ -28,17 +28,6 @@ TARGET_ARCH ?= xtensa-esp8266-elf PSEUDOMODULES += esp_sw_timer -USEMODULE += esp_idf_esp8266 -USEMODULE += esp_idf_nvs_flash -USEMODULE += esp_idf_spi_flash -USEMODULE += esp_idf_util -USEMODULE += esp_idf_wpa_supplicant_crypto -USEMODULE += esp_sdk -USEMODULE += mtd -USEMODULE += newlib -USEMODULE += periph_common -USEMODULE += ps - INCLUDES += -I$(RIOTCPU)/$(CPU) INCLUDES += -I$(RIOTCPU)/$(CPU)/include INCLUDES += -I$(RIOTCPU)/$(CPU)/vendor