Skip to content

Commit 60f20a7

Browse files
author
me-no-dev
committed
IDF release/v4.0 230931310
1 parent 8817e53 commit 60f20a7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+67
-31
lines changed

platform.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ compiler.S.flags=-c -g3 -x assembler-with-cpp -MMD -mlongcalls
3535

3636
compiler.c.elf.cmd=xtensa-esp32-elf-gcc
3737
compiler.c.elf.flags=-nostdlib "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" -T esp32_out.ld -T esp32.project.ld -T esp32.peripherals.ld -T esp32.rom.ld -T esp32.rom.libgcc.ld -T esp32.rom.syscalls.ld -T esp32.rom.newlib-data.ld -Wl,--gc-sections -Wl,-static -Wl,--undefined=uxTopUsedPriority -u call_user_start_cpu0 -u __cxa_guard_dummy -u ld_include_panic_highint_hdl -u newlib_include_locks_impl -u newlib_include_heap_impl -u newlib_include_syscalls_impl -u pthread_include_pthread_impl -u pthread_include_pthread_cond_impl -u pthread_include_pthread_local_storage_impl -fno-rtti -mfix-esp32-psram-cache-issue
38-
compiler.c.elf.libs=-lgcc -lfreertos -lmesh -lod -lwear_levelling -lfb_gfx -lesp_adc_cal -lesp32 -ldriver -lhal -ljsmn -lsmartconfig -lesp_http_server -lprotocomm -lesp_rom -lface_recognition -lesp_local_ctrl -lespnow -lesp_gdbstub -lesp_websocket_client -ltcpip_adapter -lface_detection -lunity -llibsodium -lesp_http_client -lapp_update -lnewlib -lcxx -ltcp_transport -lm -lefuse -lopenssl -lwifi_provisioning -lespcoredump -llog -lmbedtls -lesp_ringbuf -lnet80211 -lmqtt -lesp_common -lapp_trace -lesp_event -lesp32-camera -lsoc -lesp_eth -lheap -llwip -lrtc -lspi_flash -lphy -lfr -lesp_wifi -lconsole -lcoap -lbtdm_app -lsdmmc -lfd -ljson -lcore -lprotobuf-c -lspiffs -lnvs_flash -lwpa_supplicant -lvfs -lasio -lpp -lbootloader_support -limage_util -ldl_lib -lulp -lnghttp -lxtensa -lpthread -lfreemodbus -lexpat -lfatfs -lmdns -lcoexist -lesp-tls -lesp_https_ota -lbt -lc -lstdc++
38+
compiler.c.elf.libs=-lgcc -lfr -lprotocomm -lcore -lface_recognition -lphy -lpthread -lexpat -lmesh -lesp_common -lopenssl -lnewlib -lapp_update -lulp -lesp32 -lcxx -ltcpip_adapter -ldriver -lespnow -lesp_ringbuf -lconsole -lapp_trace -llog -llwip -ltcp_transport -lesp_gdbstub -lespcoredump -lesp_https_ota -lnghttp -ljsmn -lfd -ljson -limage_util -llibsodium -lspiffs -lm -lsoc -lnet80211 -lmqtt -lwear_levelling -lesp_wifi -lmbedtls -lbootloader_support -lesp_adc_cal -lesp_http_server -lfb_gfx -lface_detection -lesp_http_client -lesp_eth -lpp -lvfs -lsmartconfig -lwpa_supplicant -lprotobuf-c -lbt -lnvs_flash -lunity -lasio -lefuse -lesp_rom -lmdns -lesp_event -ldl_lib -lfreemodbus -lfatfs -lcoap -lrtc -lesp_local_ctrl -lbtdm_app -lsdmmc -lesp_websocket_client -lxtensa -lcoexist -lesp-tls -lspi_flash -lod -lheap -lwifi_provisioning -lfreertos -lesp32-camera -lhal -lc -lstdc++
3939

4040
compiler.as.cmd=xtensa-esp32-elf-as
4141

tools/gen_esp32part.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ def find_by_type(self, ptype, subtype):
160160
subtype = SUBTYPES[int(ptype)][subtype]
161161
except KeyError:
162162
try:
163-
ptype = int(ptype, 0)
163+
subtype = int(subtype, 0)
164164
except TypeError:
165165
pass
166166

tools/platformio-build.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
],
187187

188188
LIBS=[
189-
"-lgcc", "-lfreertos", "-lmesh", "-lod", "-lwear_levelling", "-lfb_gfx", "-lesp_adc_cal", "-lesp32", "-ldriver", "-lhal", "-ljsmn", "-lsmartconfig", "-lesp_http_server", "-lprotocomm", "-lesp_rom", "-lface_recognition", "-lesp_local_ctrl", "-lespnow", "-lesp_gdbstub", "-lesp_websocket_client", "-ltcpip_adapter", "-lface_detection", "-lunity", "-llibsodium", "-lesp_http_client", "-lapp_update", "-lnewlib", "-lcxx", "-ltcp_transport", "-lm", "-lefuse", "-lopenssl", "-lwifi_provisioning", "-lespcoredump", "-llog", "-lmbedtls", "-lesp_ringbuf", "-lnet80211", "-lmqtt", "-lesp_common", "-lapp_trace", "-lesp_event", "-lesp32-camera", "-lsoc", "-lesp_eth", "-lheap", "-llwip", "-lrtc", "-lspi_flash", "-lphy", "-lfr", "-lesp_wifi", "-lconsole", "-lcoap", "-lbtdm_app", "-lsdmmc", "-lfd", "-ljson", "-lcore", "-lprotobuf-c", "-lspiffs", "-lnvs_flash", "-lwpa_supplicant", "-lvfs", "-lasio", "-lpp", "-lbootloader_support", "-limage_util", "-ldl_lib", "-lulp", "-lnghttp", "-lxtensa", "-lpthread", "-lfreemodbus", "-lexpat", "-lfatfs", "-lmdns", "-lcoexist", "-lesp-tls", "-lesp_https_ota", "-lbt", "-lc", "-lstdc++"
189+
"-lgcc", "-lfr", "-lprotocomm", "-lcore", "-lface_recognition", "-lphy", "-lpthread", "-lexpat", "-lmesh", "-lesp_common", "-lopenssl", "-lnewlib", "-lapp_update", "-lulp", "-lesp32", "-lcxx", "-ltcpip_adapter", "-ldriver", "-lespnow", "-lesp_ringbuf", "-lconsole", "-lapp_trace", "-llog", "-llwip", "-ltcp_transport", "-lesp_gdbstub", "-lespcoredump", "-lesp_https_ota", "-lnghttp", "-ljsmn", "-lfd", "-ljson", "-limage_util", "-llibsodium", "-lspiffs", "-lm", "-lsoc", "-lnet80211", "-lmqtt", "-lwear_levelling", "-lesp_wifi", "-lmbedtls", "-lbootloader_support", "-lesp_adc_cal", "-lesp_http_server", "-lfb_gfx", "-lface_detection", "-lesp_http_client", "-lesp_eth", "-lpp", "-lvfs", "-lsmartconfig", "-lwpa_supplicant", "-lprotobuf-c", "-lbt", "-lnvs_flash", "-lunity", "-lasio", "-lefuse", "-lesp_rom", "-lmdns", "-lesp_event", "-ldl_lib", "-lfreemodbus", "-lfatfs", "-lcoap", "-lrtc", "-lesp_local_ctrl", "-lbtdm_app", "-lsdmmc", "-lesp_websocket_client", "-lxtensa", "-lcoexist", "-lesp-tls", "-lspi_flash", "-lod", "-lheap", "-lwifi_provisioning", "-lfreertos", "-lesp32-camera", "-lhal", "-lc", "-lstdc++"
190190
],
191191

192192
LIBSOURCE_DIRS=[

tools/sdk/bin/bootloader_dio_40m.bin

0 Bytes
Binary file not shown.

tools/sdk/bin/bootloader_dio_80m.bin

0 Bytes
Binary file not shown.

tools/sdk/bin/bootloader_dout_40m.bin

0 Bytes
Binary file not shown.

tools/sdk/bin/bootloader_dout_80m.bin

0 Bytes
Binary file not shown.

tools/sdk/bin/bootloader_qio_40m.bin

0 Bytes
Binary file not shown.

tools/sdk/bin/bootloader_qio_80m.bin

0 Bytes
Binary file not shown.

tools/sdk/bin/bootloader_qout_40m.bin

0 Bytes
Binary file not shown.

tools/sdk/bin/bootloader_qout_80m.bin

0 Bytes
Binary file not shown.

tools/sdk/include/config/sdkconfig.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -2005,5 +2005,5 @@
20052005
#define CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP
20062006
#endif
20072007

2008-
#define CONFIG_ARDUINO_IDF_COMMIT "a61fd1e42"
2008+
#define CONFIG_ARDUINO_IDF_COMMIT "230931310"
20092009
#define CONFIG_ARDUINO_IDF_BRANCH "release/v4.0"

tools/sdk/include/driver/driver/uart.h

+11
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,17 @@ typedef struct {
155155

156156
typedef intr_handle_t uart_isr_handle_t;
157157

158+
/**
159+
* @brief Checks whether the driver is installed or not
160+
*
161+
* @param uart_num UART port number, the max port number is (UART_NUM_MAX -1).
162+
*
163+
* @return
164+
* - true driver is installed
165+
* - false driver is not installed
166+
*/
167+
bool uart_is_driver_installed(uart_port_t uart_num);
168+
158169
/**
159170
* @brief Set UART data bits.
160171
*

tools/sdk/include/esp_eth/esp_eth_mac.h

+4-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ extern "C" {
2424
#include "driver/spi_master.h"
2525
#endif
2626

27-
2827
/**
2928
* @brief Ethernet MAC
3029
*
@@ -248,8 +247,11 @@ typedef struct {
248247
uint32_t rx_task_prio; /*!< Priority of the receive task */
249248
int smi_mdc_gpio_num; /*!< SMI MDC GPIO number */
250249
int smi_mdio_gpio_num; /*!< SMI MDIO GPIO number */
250+
uint32_t flags; /*!< Flags that specify extra capability for mac driver */
251251
} eth_mac_config_t;
252252

253+
#define ETH_MAC_FLAG_WORK_WITH_CACHE_DISABLE (1 << 0) /*!< MAC driver can work when cache is disabled */
254+
253255
/**
254256
* @brief Default configuration for Ethernet MAC object
255257
*
@@ -261,6 +263,7 @@ typedef struct {
261263
.rx_task_prio = 15, \
262264
.smi_mdc_gpio_num = 23, \
263265
.smi_mdio_gpio_num = 18, \
266+
.flags = 0, \
264267
}
265268

266269
#if CONFIG_ETH_USE_ESP32_EMAC

tools/sdk/include/soc/hal/emac.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,8 @@ typedef struct {
242242
#define EMAC_DMATXDESC_CHECKSUM_TCPUDPICMPSEGMENT 2 /*!< TCP/UDP/ICMP Checksum Insertion calculated over segment only */
243243
#define EMAC_DMATXDESC_CHECKSUM_TCPUDPICMPFULL 3 /*!< TCP/UDP/ICMP Checksum Insertion fully calculated */
244244

245+
_Static_assert(sizeof(eth_dma_tx_descriptor_t) == 32, "eth_dma_tx_descriptor_t should occupy 32 bytes in memory");
246+
245247
/**
246248
* @brief Ethernet DMA RX Descriptor
247249
*
@@ -328,6 +330,8 @@ typedef struct {
328330
#define EMAC_DMADESC_OWNER_CPU (0)
329331
#define EMAC_DMADESC_OWNER_DMA (1)
330332

333+
_Static_assert(sizeof(eth_dma_rx_descriptor_t) == 32, "eth_dma_rx_descriptor_t should occupy 32 bytes in memory");
334+
331335
typedef struct {
332336
emac_mac_dev_t *mac_regs;
333337
emac_dma_dev_t *dma_regs;
@@ -378,7 +382,7 @@ void emac_hal_stop(emac_hal_context_t *hal);
378382

379383
uint32_t emac_hal_get_tx_desc_owner(emac_hal_context_t *hal);
380384

381-
void emac_hal_transmit_frame(emac_hal_context_t *hal, uint8_t *buf, uint32_t length);
385+
uint32_t emac_hal_transmit_frame(emac_hal_context_t *hal, uint8_t *buf, uint32_t length);
382386

383387
uint32_t emac_hal_receive_frame(emac_hal_context_t *hal, uint8_t *buf, uint32_t size, uint32_t *frames_remain);
384388

tools/sdk/include/soc/soc/soc_memory_layout.h

+4
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,10 @@ inline static bool IRAM_ATTR esp_ptr_executable(const void *p)
155155
intptr_t ip = (intptr_t) p;
156156
return (ip >= SOC_IROM_LOW && ip < SOC_IROM_HIGH)
157157
|| (ip >= SOC_IRAM_LOW && ip < SOC_IRAM_HIGH)
158+
|| (ip >= SOC_IROM_MASK_LOW && ip < SOC_IROM_MASK_HIGH)
159+
#if defined(SOC_CACHE_APP_LOW) && defined(CONFIG_FREERTOS_UNICORE)
160+
|| (ip >= SOC_CACHE_APP_LOW && ip < SOC_CACHE_APP_HIGH)
161+
#endif
158162
|| (ip >= SOC_RTC_IRAM_LOW && ip < SOC_RTC_IRAM_HIGH);
159163
}
160164

tools/sdk/include/wpa_supplicant/esp_supplicant/esp_wps.h

+11-4
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,20 @@ typedef struct {
7171
wps_factory_information_t factory_info;
7272
} esp_wps_config_t;
7373

74+
/* C & C++ compilers have different rules about C99-style named initializers */
75+
#ifdef __cplusplus
76+
#define WPS_AGG(X) { X }
77+
#else
78+
#define WPS_AGG(X) X
79+
#endif
80+
7481
#define WPS_CONFIG_INIT_DEFAULT(type) { \
7582
.wps_type = type, \
7683
.factory_info = { \
77-
.manufacturer = "ESPRESSIF", \
78-
.model_number = "ESP32", \
79-
.model_name = "ESPRESSIF IOT", \
80-
.device_name = "ESP STATION", \
84+
WPS_AGG( .manufacturer = "ESPRESSIF" ), \
85+
WPS_AGG( .model_number = "ESP32" ), \
86+
WPS_AGG( .model_name = "ESPRESSIF IOT" ), \
87+
WPS_AGG( .device_name = "ESP STATION" ), \
8188
} \
8289
}
8390

tools/sdk/include/wpa_supplicant/esp_wps.h

+11-4
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,20 @@ typedef struct {
7171
wps_factory_information_t factory_info;
7272
} esp_wps_config_t;
7373

74+
/* C & C++ compilers have different rules about C99-style named initializers */
75+
#ifdef __cplusplus
76+
#define WPS_AGG(X) { X }
77+
#else
78+
#define WPS_AGG(X) X
79+
#endif
80+
7481
#define WPS_CONFIG_INIT_DEFAULT(type) { \
7582
.wps_type = type, \
7683
.factory_info = { \
77-
.manufacturer = "ESPRESSIF", \
78-
.model_number = "ESP32", \
79-
.model_name = "ESPRESSIF IOT", \
80-
.device_name = "ESP STATION", \
84+
WPS_AGG( .manufacturer = "ESPRESSIF" ), \
85+
WPS_AGG( .model_number = "ESP32" ), \
86+
WPS_AGG( .model_name = "ESPRESSIF IOT" ), \
87+
WPS_AGG( .device_name = "ESP STATION" ), \
8188
} \
8289
}
8390

tools/sdk/ld/esp32.project.ld

+17-17
Large diffs are not rendered by default.

tools/sdk/lib/libapp_trace.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libapp_update.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libasio.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libbootloader_support.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libbt.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libcoap.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libconsole.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libcxx.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libdriver.a

1.31 KB
Binary file not shown.

tools/sdk/lib/libefuse.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libesp-tls.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libesp32-camera.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libesp32.a

424 Bytes
Binary file not shown.

tools/sdk/lib/libesp_adc_cal.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libesp_common.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libesp_eth.a

2.54 KB
Binary file not shown.

tools/sdk/lib/libesp_event.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libesp_gdbstub.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libesp_http_client.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libesp_http_server.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libesp_https_ota.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libesp_local_ctrl.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libesp_ringbuf.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libesp_rom.a

0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

tools/sdk/lib/libesp_wifi.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libespcoredump.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libexpat.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libface_detection.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libface_recognition.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libfatfs.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libfb_gfx.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libfreemodbus.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libfreertos.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libheap.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libimage_util.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libjsmn.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libjson.a

0 Bytes
Binary file not shown.

tools/sdk/lib/liblibsodium.a

0 Bytes
Binary file not shown.

tools/sdk/lib/liblog.a

0 Bytes
Binary file not shown.

tools/sdk/lib/liblwip.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libmbedtls.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libmdns.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libmqtt.a

-4 Bytes
Binary file not shown.

tools/sdk/lib/libnewlib.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libnghttp.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libnvs_flash.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libopenssl.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libprotobuf-c.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libprotocomm.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libpthread.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libsdmmc.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libsoc.a

1.11 KB
Binary file not shown.

tools/sdk/lib/libspi_flash.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libspiffs.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libtcp_transport.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libtcpip_adapter.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libulp.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libunity.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libvfs.a

1.2 KB
Binary file not shown.

tools/sdk/lib/libwear_levelling.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libwifi_provisioning.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libwpa_supplicant.a

0 Bytes
Binary file not shown.

tools/sdk/lib/libxtensa.a

524 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)