@@ -38,8 +38,10 @@ PORT ?= /dev/tty.SLAB_USBtoUART
38
38
BUILD ?= build-$(BOARD )
39
39
40
40
include ../../py/mkenv.mk
41
+
41
42
# Board-specific
42
43
include boards/$(BOARD ) /mpconfigboard.mk
44
+
43
45
# Port-specific
44
46
include mpconfigport.mk
45
47
@@ -64,51 +66,52 @@ CROSS_COMPILE = xtensa-esp32s2-elf-
64
66
# ######################################
65
67
66
68
INC += -I.
67
- INC += -I../..
68
- INC += -I$(BUILD )
69
- INC += -I$(BUILD ) /genhdr
70
69
INC += -I./boards
71
70
INC += -I./boards/$(BOARD )
72
71
INC += -I./peripherals
72
+ INC += -I../..
73
73
INC += -I../../lib/mp-readline
74
74
INC += -I../../lib/tinyusb/src
75
75
INC += -I../../supervisor/shared/usb
76
+ INC += -I$(BUILD )
77
+ INC += -I$(BUILD ) /genhdr
78
+ INC += -I$(BUILD ) /esp-idf/config
76
79
77
80
INC += -isystem esp-idf
81
+ INC += -isystem esp-idf/components/app_update/include
82
+ INC += -isystem esp-idf/components/bootloader_support/include
83
+ INC += -isystem esp-idf/components/driver/esp32s2/include
78
84
INC += -isystem esp-idf/components/driver/include
79
- INC += -isystem esp-idf/components/freertos/include/freertos
80
- INC += -isystem esp-idf/components/freertos/xtensa/include
81
85
INC += -isystem esp-idf/components/esp32s2/include
82
- INC += -isystem esp-idf/components/xtensa/esp32s2/include
83
86
INC += -isystem esp-idf/components/esp_common/include
84
87
INC += -isystem esp-idf/components/esp_event/include
88
+ INC += -isystem esp-idf/components/esp_hw_support/include
85
89
INC += -isystem esp-idf/components/esp_netif/include
90
+ INC += -isystem esp-idf/components/esp_pm/include
86
91
INC += -isystem esp-idf/components/esp_ringbuf/include
87
92
INC += -isystem esp-idf/components/esp_rom/include
88
- INC += -isystem esp-idf/components/esp_wifi/include
89
- INC += -isystem esp-idf/components/xtensa/include
93
+ INC += -isystem esp-idf/components/esp_system/include
90
94
INC += -isystem esp-idf/components/esp_timer/include
91
- INC += -isystem esp-idf/components/mbedtls/mbedtls/include
92
- INC += -isystem esp-idf/components/mbedtls/port/include/
93
- INC += -isystem esp-idf/components/newlib/platform_include
94
- INC += -isystem esp-idf/components/lwip/lwip/src/include
95
- INC += -isystem esp-idf/components/lwip/port/esp32/include
96
- INC += -isystem esp-idf/components/lwip/include/apps/sntp
95
+ INC += -isystem esp-idf/components/esp_wifi/include
96
+ INC += -isystem esp-idf/components/freertos/include
97
+ INC += -isystem esp-idf/components/freertos/include/freertos
98
+ INC += -isystem esp-idf/components/freertos/port/xtensa/include
97
99
INC += -isystem esp-idf/components/hal/include
98
100
INC += -isystem esp-idf/components/hal/esp32s2/include
101
+ INC += -isystem esp-idf/components/heap/include
99
102
INC += -isystem esp-idf/components/log/include/
100
- INC += -isystem esp-idf/components/driver/esp32s2/include
103
+ INC += -isystem esp-idf/components/lwip/lwip/src/include
104
+ INC += -isystem esp-idf/components/lwip/port/esp32/include
105
+ INC += -isystem esp-idf/components/lwip/include/apps/sntp
106
+ INC += -isystem esp-idf/components/mbedtls/mbedtls/include
107
+ INC += -isystem esp-idf/components/mbedtls/port/include/
108
+ INC += -isystem esp-idf/components/newlib/platform_include
109
+ INC += -isystem esp-idf/components/nvs_flash/include
101
110
INC += -isystem esp-idf/components/soc/include
102
- INC += -isystem esp-idf/components/soc/src/esp32s2/include
103
- INC += -isystem esp-idf/components/soc/soc/include
104
- INC += -isystem esp-idf/components/soc/soc/esp32s2/include
105
- INC += -isystem esp-idf/components/heap/include
106
- INC += -isystem esp-idf/components/esp_system/include
111
+ INC += -isystem esp-idf/components/soc/esp32s2/include
107
112
INC += -isystem esp-idf/components/spi_flash/include
108
- INC += -isystem esp-idf/components/nvs_flash/include
109
- INC += -isystem esp-idf/components/app_update/include
110
- INC += -isystem esp-idf/components/bootloader_support/include
111
- INC += -I$(BUILD ) /esp-idf/config
113
+ INC += -isystem esp-idf/components/xtensa/esp32s2/include
114
+ INC += -isystem esp-idf/components/xtensa/include
112
115
113
116
CFLAGS += -DHAVE_CONFIG_H \
114
117
-DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" \
@@ -136,27 +139,28 @@ CFLAGS += $(OPTIMIZATION_FLAGS)
136
139
137
140
CFLAGS += $(INC ) -Werror -Wall -mlongcalls -std=gnu11 -Wl,--gc-sections $(BASE_CFLAGS ) $(C_DEFS ) $(CFLAGS_MOD ) $(COPT )
138
141
139
- LDFLAGS = $(CFLAGS ) -Wl,-nostdlib -Wl,-Map=$@ .map -Wl,-cref -Wl,--undefined=uxTopUsedPriority
140
- LDFLAGS += -L$(BUILD ) /esp-idf/esp-idf/esp32s2 \
141
- -Tesp32s2_out.ld \
142
- -L$(BUILD ) /esp-idf/esp-idf/esp32s2/ld \
143
- -Tesp32s2.project.ld \
144
- -Lesp-idf/components/esp32s2/ld \
145
- -Tesp32s2.peripherals.ld \
146
- -Lesp-idf/components/esp_rom/esp32s2/ld \
147
- -Tesp32s2.rom.ld \
148
- -Tesp32s2.rom.libgcc.ld \
149
- -Tesp32s2.rom.newlib-data.ld \
150
- -Tesp32s2.rom.newlib-funcs.ld \
151
- -Tesp32s2.rom.spiflash.ld
152
- LIBS := -lgcc -lc -lstdc++
142
+ LDFLAGS = $(CFLAGS ) -Wl,-nostdlib -Wl,-Map=$@ .map -Wl,-cref -Wl,--undefined=uxTopUsedPriority
153
143
154
- #
144
+ LDFLAGS += -L$(BUILD ) /esp-idf/esp-idf/esp32s2 \
145
+ -L$(BUILD ) /esp-idf/esp-idf/esp32s2/ld \
146
+ -Lesp-idf/components/esp32s2/ld \
147
+ -Lesp-idf/components/esp_rom/esp32s2/ld \
148
+ -Tesp32s2_out.ld \
149
+ -Tesp32s2.project.ld \
150
+ -Tesp32s2.peripherals.ld \
151
+ -Tesp32s2.rom.ld \
152
+ -Tesp32s2.rom.api.ld \
153
+ -Tesp32s2.rom.libgcc.ld \
154
+ -Tesp32s2.rom.newlib-data.ld \
155
+ -Tesp32s2.rom.newlib-funcs.ld \
156
+ -Tesp32s2.rom.spiflash.ld
157
+
158
+ LDFLAGS += -Wl,-Bstatic \
159
+ -Wl,--no-warn-mismatch \
160
+ -Wl,--build-id=none \
161
+ -fno-rtti
155
162
156
- LDFLAGS += -Wl,-Bstatic \
157
- -Wl,--no-warn-mismatch \
158
- -Wl,--build-id=none \
159
- -fno-rtti
163
+ LIBS := -lgcc -lc -lstdc++
160
164
161
165
# Use toolchain libm if we're not using our own.
162
166
ifndef INTERNAL_LIBM
@@ -272,23 +276,19 @@ menuconfig: $(BUILD)/esp-idf/config
272
276
# qstr builds include headers so we need to make sure they are up to date
273
277
$(HEADER_BUILD ) /qstr.split : | $(BUILD ) /esp-idf/config/sdkconfig.h
274
278
275
- ESP_IDF_COMPONENTS_LINK = freertos log esp_system esp_adc_cal esp32s2 bootloader_support pthread esp_timer vfs spi_flash app_update esp_common esp32s2 heap newlib driver xtensa soc esp_ringbuf esp_wifi esp_event wpa_supplicant mbedtls efuse nvs_flash esp_netif lwip esp-tls
276
-
277
- ESP_IDF_COMPONENTS_INCLUDE = driver freertos log soc
278
-
279
- INC += $(foreach component, $(ESP_IDF_COMPONENTS_INCLUDE ) , -isystem esp-idf/components/$(component ) /include)
279
+ ESP_IDF_COMPONENTS_LINK = app_update bootloader_support driver efuse esp32s2 esp_adc_cal esp_common esp_event esp_hw_support esp_netif esp_pm esp_ringbuf esp_rom esp_system esp_timer esp-tls esp_wifi freertos hal heap log lwip mbedtls newlib nvs_flash pthread soc spi_flash vfs wpa_supplicant xtensa
280
280
281
281
ESP_IDF_COMPONENTS_EXPANDED = $(foreach component, $(ESP_IDF_COMPONENTS_LINK ) , $(BUILD ) /esp-idf/esp-idf/$(component ) /lib$(component ) .a)
282
282
ESP_IDF_WIFI_COMPONENTS_EXPANDED = $(foreach component, $(ESP_IDF_WIFI_COMPONENTS_LINK ) , $(BUILD ) /esp-idf/esp-idf/$(component ) /lib$(component ) .a)
283
283
284
284
MBEDTLS_COMPONENTS_LINK = crypto tls x509
285
285
MBEDTLS_COMPONENTS_LINK_EXPANDED = $(foreach component, $(MBEDTLS_COMPONENTS_LINK ) , $(BUILD ) /esp-idf/esp-idf/mbedtls/mbedtls/library/libmbed$(component ) .a)
286
286
287
- BINARY_BLOBS = esp-idf/components/xtensa/esp32s2/libhal .a
287
+ BINARY_BLOBS = esp-idf/components/xtensa/esp32s2/libxt_hal .a
288
288
BINARY_WIFI_BLOBS = libcoexist.a libcore.a libespnow.a libmesh.a libnet80211.a libpp.a librtc.a libsmartconfig.a libphy.a
289
289
BINARY_BLOBS += $(addprefix esp-idf/components/esp_wifi/lib/esp32s2/, $(BINARY_WIFI_BLOBS ) )
290
290
291
- ESP_IDF_COMPONENTS_EXPANDED += $( BUILD ) / esp-idf/esp-idf/soc/soc/ esp32s2/libsoc_esp32s2 .a
291
+ ESP_IDF_COMPONENTS_EXPANDED += esp-idf/components/xtensa/ esp32s2/libxt_hal .a
292
292
ESP_AUTOGEN_LD = $(BUILD ) /esp-idf/esp-idf/esp32s2/esp32s2_out.ld $(BUILD ) /esp-idf/esp-idf/esp32s2/ld/esp32s2.project.ld
293
293
294
294
FLASH_FLAGS = --flash_mode $(CIRCUITPY_ESP_FLASH_MODE ) --flash_freq $(CIRCUITPY_ESP_FLASH_FREQ ) --flash_size $(CIRCUITPY_ESP_FLASH_SIZE )
@@ -301,24 +301,42 @@ all: $(BUILD)/firmware.bin $(BUILD)/firmware.uf2
301
301
esp-idf-stamp : $(BUILD ) /esp-idf/config/sdkconfig.h
302
302
$(Q ) ninja -C $(BUILD ) /esp-idf \
303
303
bootloader/bootloader.bin \
304
+ esp-idf/app_update/libapp_update.a \
304
305
esp-idf/bootloader_support/libbootloader_support.a \
305
- esp-idf/esp-tls/libesp-tls.a \
306
+ esp-idf/driver/libdriver.a \
307
+ esp-idf/efuse/libefuse.a \
308
+ esp-idf/esp32s2/libesp32s2.a \
306
309
esp-idf/esp32s2/ld/esp32s2.project.ld \
310
+ esp-idf/esp_adc_cal/libesp_adc_cal.a \
311
+ esp-idf/esp_common/libesp_common.a \
307
312
esp-idf/esp_event/libesp_event.a \
313
+ esp-idf/esp_hw_support/libesp_hw_support.a \
308
314
esp-idf/esp_netif/libesp_netif.a \
315
+ esp-idf/esp_pm/libesp_pm.a \
316
+ esp-idf/esp_ringbuf/libesp_ringbuf.a \
317
+ esp-idf/esp_rom/libesp_rom.a \
309
318
esp-idf/esp_system/libesp_system.a \
319
+ esp-idf/esp_timer/libesp_timer.a \
320
+ esp-idf/esp-tls/libesp-tls.a \
310
321
esp-idf/esp_wifi/libesp_wifi.a \
322
+ esp-idf/freertos/libfreertos.a \
323
+ esp-idf/hal/libhal.a \
324
+ esp-idf/heap/libheap.a \
325
+ esp-idf/log/liblog.a \
311
326
esp-idf/lwip/liblwip.a \
327
+ esp-idf/mbedtls/libmbedtls.a \
328
+ esp-idf/newlib/libnewlib.a \
312
329
esp-idf/nvs_flash/libnvs_flash.a \
330
+ esp-idf/pthread/libpthread.a \
331
+ esp-idf/soc/libsoc.a \
332
+ esp-idf/spi_flash/libspi_flash.a \
333
+ esp-idf/vfs/libvfs.a \
313
334
esp-idf/wpa_supplicant/libwpa_supplicant.a \
314
- esp-idf/mbedtls/libmbedtls.a \
315
- esp-idf/freertos/libfreertos.a \
316
- esp-idf/log/liblog.a \
317
335
esp-idf/xtensa/libxtensa.a
318
336
319
337
$(BUILD ) /firmware.elf : $(OBJ ) | esp-idf-stamp
320
338
$(STEPECHO ) " LINK $@ "
321
- $(Q )$(CC ) -o $@ $(LDFLAGS ) $^ -Wl,--start-group $(ESP_IDF_COMPONENTS_EXPANDED ) $(BINARY_BLOBS ) $(MBEDTLS_COMPONENTS_LINK_EXPANDED ) build- $( BOARD ) /esp-idf/esp-idf/newlib/libnewlib.a -Wl,--end-group -u newlib_include_pthread_impl -Wl,--start-group $(LIBS ) -Wl,--end-group build- $( BOARD ) /esp-idf/esp-idf/pthread/libpthread.a -u __cxx_fatal_exception
339
+ $(Q )$(CC ) -o $@ $(LDFLAGS ) $^ -Wl,--start-group $(ESP_IDF_COMPONENTS_EXPANDED ) $(BINARY_BLOBS ) $(MBEDTLS_COMPONENTS_LINK_EXPANDED ) $( BUILD ) /esp-idf/esp-idf/newlib/libnewlib.a -Wl,--end-group -u newlib_include_pthread_impl -Wl,--start-group $(LIBS ) -Wl,--end-group $( BUILD ) /esp-idf/esp-idf/pthread/libpthread.a -u __cxx_fatal_exception
322
340
323
341
$(BUILD ) /circuitpython-firmware.bin : $(BUILD ) /firmware.elf | tools/build_memory_info.py
324
342
$(STEPECHO ) " Create $@ "
0 commit comments