@@ -126,13 +126,17 @@ INCLUDES += -I$(RIOTCPU)/$(CPU)/vendor/include
126
126
127
127
INCLUDES += -I$(ESP32_SDK_DIR)/components
128
128
INCLUDES += -I$(ESP32_SDK_DIR)/components/bootloader_support/include
129
- INCLUDES += -I$(ESP32_SDK_DIR)/components/driver/include
129
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/driver/deprecated
130
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_adc/include
130
131
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_common/include
132
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_driver_gpio/include
131
133
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_hw_support/include
132
134
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_hw_support/include/soc
135
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_hw_support/port/$(CPU_FAM)/include
133
136
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)
134
137
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_rom/include
135
- INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_rom/include/$(CPU_FAM)
138
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/include
139
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/include/$(CPU_FAM)
136
140
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_system/include
137
141
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_system/port/include
138
142
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_timer/include
@@ -144,7 +148,9 @@ INCLUDES += -I$(ESP32_SDK_DIR)/components/log/include
144
148
INCLUDES += -I$(ESP32_SDK_DIR)/components/newlib/platform_include
145
149
INCLUDES += -I$(ESP32_SDK_DIR)/components/soc/include
146
150
INCLUDES += -I$(ESP32_SDK_DIR)/components/soc/$(CPU_FAM)/include
151
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/soc/$(CPU_FAM)/register
147
152
INCLUDES += -I$(ESP32_SDK_DIR)/components/spi_flash/include
153
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/spi_flash/include/spi_flash
148
154
149
155
ifneq (,$(filter riscv32%,$(TARGET_ARCH)))
150
156
INCLUDES += -I$(ESP32_SDK_DIR)/components/riscv/include
@@ -156,22 +162,36 @@ ifneq (,$(filter xtensa%,$(TARGET_ARCH)))
156
162
endif
157
163
158
164
ifneq (,$(filter esp_ble,$(USEMODULE)))
159
- INCLUDES += -I$(ESP32_SDK_DIR)/components/bt/include/$(CPU_FAM)/include
165
+ ifeq (esp32,$(CPU_FAM))
166
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/bt/include/$(CPU_FAM)/include
167
+ else ifneq (,$(filter esp32s3 esp32c3,$(CPU_FAM)))
168
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/bt/include/esp32c3/include
169
+ endif
160
170
endif
161
171
162
172
ifneq (,$(filter esp_ble_nimble,$(USEMODULE)))
163
173
INCLUDES += -I$(RIOTCPU)/$(CPU)/include/esp_ble_nimble
164
174
INCLUDES += $(NIMIBASE)/nimble/transport/common/hci_h4/include
165
175
endif
166
176
177
+ ifneq (,$(filter esp_i2c_hw,$(USEMODULE)))
178
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_driver_i2c/include
179
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_pm/include
180
+ endif
181
+
167
182
ifneq (,$(filter esp_spi_ram,$(USEMODULE)))
168
- INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_hw_support /include/soc/$(CPU_FAM)
183
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_psram /include
169
184
endif
170
185
171
186
ifneq (,$(filter esp_idf_lcd,$(USEMODULE)))
172
187
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_lcd/include
173
188
endif
174
189
190
+ ifneq (,$(filter esp_idf_nvs_flash,$(USEMODULE)))
191
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_partition/include
192
+ CFLAGS += -DMBEDTLS_CIPHER_MODE_XTS
193
+ endif
194
+
175
195
ifneq (,$(filter esp_idf_spi_flash,$(USEMODULE)))
176
196
INCLUDES += -I$(ESP32_SDK_DIR)/components/spi_flash/include
177
197
endif
@@ -202,14 +222,26 @@ ifneq (,$(filter esp_eth,$(USEMODULE)))
202
222
INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_wifi/include
203
223
endif
204
224
225
+ ifneq (,$(filter periph_sdmmc,$(USEMODULE)))
226
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_driver_sdmmc/include
227
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/sdmmc/include
228
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/esp_hw_support/dma/include
229
+ endif
230
+
231
+ ifneq (,$(filter ws281x_esp32_hw,$(USEMODULE)))
232
+ INCLUDES += -I$(ESP32_SDK_DIR)/components/driver/deprecated
233
+ CFLAGS += -DCONFIG_RMT_SUPPRESS_DEPRECATE_WARN
234
+ endif
235
+
205
236
CFLAGS += -DCPU_FAM_$(call uppercase_and_underscore,$(CPU_FAM))
206
237
207
- # we use ESP32 only in single core mode
238
+ # we use ESP32x SoC only in single core mode
208
239
CFLAGS += -DCONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
209
240
CFLAGS += -DCONFIG_FREERTOS_UNICORE
210
241
211
242
# other ESP-IDF configurations
212
243
CFLAGS += -DCONFIG_IDF_TARGET_$(call uppercase_and_underscore,$(CPU_FAM))
244
+ CFLAGS += -DCONFIG_IDF_TARGET=\"$(CPU_FAM)\"
213
245
CFLAGS += -DESP_PLATFORM
214
246
CFLAGS += -DLOG_TAG_IN_BRACKETS
215
247
@@ -246,7 +278,9 @@ CFLAGS += -D_CONST=const
246
278
247
279
# TODO no relaxation yet
248
280
ifneq (,$(filter riscv%,$(TARGET_ARCH)))
281
+ CFLAGS += -DCONFIG_IDF_TARGET_ARCH_RISCV
249
282
CFLAGS += -mno-relax -march=rv32imc_zicsr_zifencei -mabi=ilp32 -DRISCV_NO_RELAX
283
+ LDGENFLAGS += -DCONFIG_IDF_TARGET_ARCH_RISCV
250
284
LINKFLAGS += -mno-relax -march=rv32imc_zicsr_zifencei -mabi=ilp32
251
285
GCC_NEW_RISCV_ISA ?= $(shell echo "typedef int dont_be_pedantic;" | \
252
286
$(TARGET_ARCH)-gcc -march=rv32imac -mabi=ilp32 \
@@ -258,6 +292,8 @@ ifneq (,$(filter riscv%,$(TARGET_ARCH)))
258
292
endif
259
293
260
294
ifneq (,$(filter xtensa%,$(TARGET_ARCH)))
295
+ CFLAGS += -DCONFIG_IDF_TARGET_ARCH_XTENSA
296
+ LDGENFLAGS += -DCONFIG_IDF_TARGET_ARCH_XTENSA
261
297
LINKFLAGS += -L$(ESP32_SDK_DIR)/components/xtensa/$(CPU_FAM)
262
298
ARCHIVES += -lxt_hal
263
299
endif
@@ -272,13 +308,25 @@ LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.
272
308
LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.api.ld
273
309
LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.libgcc.ld
274
310
275
- ifeq (esp32s2,$(CPU_FAM))
276
- LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.spiflash.ld
311
+ ifeq (esp32,$(CPU_FAM))
312
+ # We don't use newlibc functions in ROM for ESP32
313
+ # LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.newlib-data.ld
314
+ # LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.newlib-funcs.lds
315
+ else ifeq (esp32s2,$(CPU_FAM))
316
+ # We don't use newlibc functions in ROM for ESP32-S2
317
+ # LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.newlib-data.ld
318
+ # LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.newlib-funcs.ld
319
+ LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.spiflash_legacy.ld
320
+ else ifeq (esp32s3,$(CPU_FAM))
321
+ LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.ble_cca.ld
322
+ LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.bt_funcs.ld
323
+ LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.newlib.ld
277
324
else ifeq (esp32c3,$(CPU_FAM))
325
+ LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.ble_cca.ld
326
+ LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.bt_funcs.ld
278
327
LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.newlib.ld
279
328
LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.eco3.ld
280
- else ifeq (esp32s3,$(CPU_FAM))
281
- LINKFLAGS += -T$(ESP32_SDK_DIR)/components/esp_rom/$(CPU_FAM)/ld/$(CPU_FAM).rom.newlib.ld
329
+ LINKFLAGS += -T$(ESP32_SDK_DIR)/components/riscv/ld/rom.api.ld
282
330
endif
283
331
284
332
LINKFLAGS += -nostdlib -lgcc -Wl,-gc-sections
@@ -293,6 +341,7 @@ endif
293
341
ifneq (,$(filter esp_wifi_any,$(USEMODULE)))
294
342
LINKFLAGS += -L$(ESP32_SDK_LIB_WIFI_DIR)/$(CPU_FAM)
295
343
LINKFLAGS += -L$(ESP32_SDK_LIB_PHY_DIR)/$(CPU_FAM)
344
+ LINKFLAGS += -L$(ESP32_SDK_LIB_COEXIST_DIR)/$(CPU_FAM)
296
345
ARCHIVES += -lcoexist -lcore -lmesh -lnet80211 -lpp
297
346
ARCHIVES += -lphy -lstdc++
298
347
ifeq (esp32,$(CPU_FAM))
@@ -342,13 +391,17 @@ ifneq (,$(filter esp_jtag,$(USEMODULE)))
342
391
endif
343
392
344
393
LD_SCRIPTS += $(BINDIR)/memory.ld $(BINDIR)/sections.ld
394
+ LDGENFLAGS += -DLD_FILE_GEN
395
+ LDGENFLAGS += -DRESERVE_RTC_MEM=0x18
396
+ LDGENFLAGS += -DESP_BOOTLOADER_RESERVE_RTC=0x18
345
397
346
- $(BINDIR)/memory.ld: $(RIOTCPU)/$(CPU)/ld/$(CPU_FAM)/memory.ld.in \
398
+ $(BINDIR)/memory.ld: $(RIOTCPU)/$(CPU)/vendor/ ld/$(CPU_FAM)/memory.ld.in \
347
399
$(BINDIR)/riotbuild/riotbuild.h pkg-prepare
348
- $(Q)$(CC) -DLD_FILE_GEN $(INCLUDES) -include '$(BINDIR)/riotbuild/riotbuild.h' \
349
- -I$(RIOTCPU)/$(CPU)/ld -P -x c -E $< -o $@
350
- $(BINDIR)/sections.ld: $(RIOTCPU)/$(CPU)/ld/$(CPU_FAM)/sections.ld.in \
400
+ $(Q)$(CC) $(INCLUDES) -include '$(BINDIR)/riotbuild/riotbuild.h' \
401
+ $(LDGENFLAGS) -I$(RIOTCPU)/$(CPU)/vendor /ld -P -x c -E $< -o $@
402
+ $(BINDIR)/sections.ld: $(RIOTCPU)/$(CPU)/vendor/ ld/$(CPU_FAM)/sections.ld.in \
351
403
$(BINDIR)/riotbuild/riotbuild.h pkg-prepare
352
- $(Q)$(CC) -DLD_FILE_GEN -include '$(BINDIR)/riotbuild/riotbuild.h' -C -P -x c -E $< -o $@
404
+ $(Q)$(CC) $(INCLUDES) -include '$(BINDIR)/riotbuild/riotbuild.h' \
405
+ $(LDGENFLAGS) -I$(RIOTCPU)/$(CPU)/vendor/ld -C -P -x c -E $< -o $@
353
406
354
407
$(BOOTLOADER_BIN):
0 commit comments