# ESP32 specific flashing options FLASH_CHIP = esp32 FLASH_MODE ?= dout FLASH_FREQ = 40m # DO NOT CHANGE FLASH_SIZE ?= 4 BOOTLOADER_POS = 0x1000 ESPTOOL ?= $(RIOTTOOLS)/esptools/esptool_v3.2.py include $(RIOTCPU)/esp_common/Makefile.include # regular Makefile TARGET_ARCH_ESP32 ?= xtensa-esp32-elf TARGET_ARCH ?= $(TARGET_ARCH_ESP32) PSEUDOMODULES += esp_gdbstub PSEUDOMODULES += esp_hw_counter PSEUDOMODULES += esp_i2c_hw PSEUDOMODULES += esp_jtag PSEUDOMODULES += esp_rtc_timer_32k PSEUDOMODULES += esp_spi_ram PSEUDOMODULES += esp_wifi_enterprise INCLUDES += -I$(RIOTCPU)/$(CPU)/vendor/ INCLUDES += -I$(RIOTCPU)/$(CPU)/vendor/esp-idf/include INCLUDES += -I$(RIOTCPU)/$(CPU)/vendor/esp-idf/include/esp32 INCLUDES += -I$(RIOTCPU)/$(CPU)/vendor/esp-idf/include/heap INCLUDES += -I$(RIOTCPU)/$(CPU)/vendor/esp-idf/include/spi_flash INCLUDES += -I$(RIOTCPU)/$(CPU)/vendor/esp-idf/include/tcpip_adapter INCLUDES += -I$(RIOTCPU)/$(CPU) ifneq (,$(filter esp_eth,$(USEMODULE))) INCLUDES += -I$(RIOTCPU)/$(CPU)/esp-eth INCLUDES += -I$(RIOTCPU)/$(CPU)/vendor/esp-idf/include/ethernet endif CFLAGS += -DSDK_NOT_USED -DCONFIG_FREERTOS_UNICORE=1 -DESP_PLATFORM CFLAGS += -DLOG_TAG_IN_BRACKETS CFLAGS += -D_CONST=const LINKFLAGS += -L$(RIOTCPU)/$(CPU)/ld/ LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp32.ld LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp32.common.ld LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp32.peripherals.ld LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp32.rom.ld LINKFLAGS += -T$(RIOTCPU)/$(CPU)/ld/esp32.rom.nanofmt.ld LINKFLAGS += -nostdlib -lgcc -Wl,-gc-sections # Libraries needed when using esp_wifi_any pseudomodule ifneq (,$(filter esp_wifi_any,$(USEMODULE))) ARCHIVES += -lcore -lrtc -lnet80211 -lpp -lcoexist -lwps -lwpa -lwpa2 ARCHIVES += -lphy -lstdc++ endif # Libraries needed when using esp_now module ifneq (,$(filter esp_now,$(USEMODULE))) ARCHIVES += -lespnow -lmesh endif ifneq (,$(filter cpp,$(USEMODULE))) ARCHIVES += -lstdc++ endif ifneq (,$(filter esp_jtag,$(USEMODULE))) PROGRAMMERS_SUPPORTED += openocd PARTITION_POS = 0x8000 OPENOCD_PRE_FLASH_CMDS = -c 'echo "Installing Bootloader at $(BOOTLOADER_POS)"' \ -c 'flash write_image erase "$(RIOTCPU)/$(CPU)/bin/bootloader.bin" $(BOOTLOADER_POS) bin' \ -c 'echo "Installing partition table at $(PARTITION_POS)"' \ -c 'flash write_image erase "$(BINDIR)/partitions.bin" $(PARTITION_POS) bin' IMAGE_OFFSET = 0x10000 # Flash checksumming not supported on xtensa OPENOCD_SKIP_VERIFY = yes # Without resets debug target fails with 'Target not examined yet' OPENOCD_DBG_EXTRA_CMD += -c 'reset halt' endif