From c32a9be28bcae61d27078b88124ecfaa2eddb183 Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Sat, 30 May 2020 15:22:52 +0300 Subject: [PATCH] what if functions are in the core? --- CMakeLists.txt | 1 + cores/esp32/esp32-hal-tinyusb.c | 286 ++++++++++++++++++ tools/sdk/esp32s2/ld/esp32s2.project.ld | 4 +- tools/sdk/esp32s2/lib/libapp_trace.a | Bin 121000 -> 121000 bytes tools/sdk/esp32s2/lib/libapp_update.a | Bin 126536 -> 126536 bytes tools/sdk/esp32s2/lib/libasio.a | Bin 2694896 -> 2694896 bytes tools/sdk/esp32s2/lib/libbootloader_support.a | Bin 620638 -> 620638 bytes tools/sdk/esp32s2/lib/libcbor.a | Bin 514338 -> 514338 bytes tools/sdk/esp32s2/lib/libcoap.a | Bin 1671046 -> 1671046 bytes tools/sdk/esp32s2/lib/libconsole.a | Bin 553882 -> 553882 bytes tools/sdk/esp32s2/lib/libcxx.a | Bin 62490 -> 62490 bytes tools/sdk/esp32s2/lib/libdriver.a | Bin 4091000 -> 4091000 bytes tools/sdk/esp32s2/lib/libefuse.a | Bin 248986 -> 248986 bytes tools/sdk/esp32s2/lib/libesp-tls.a | Bin 244738 -> 244738 bytes tools/sdk/esp32s2/lib/libesp32s2.a | Bin 1183796 -> 1183796 bytes tools/sdk/esp32s2/lib/libesp_common.a | Bin 452722 -> 452722 bytes tools/sdk/esp32s2/lib/libesp_eth.a | Bin 664442 -> 664442 bytes tools/sdk/esp32s2/lib/libesp_event.a | Bin 498404 -> 498404 bytes tools/sdk/esp32s2/lib/libesp_gdbstub.a | Bin 124820 -> 124820 bytes tools/sdk/esp32s2/lib/libesp_hid.a | Bin 264318 -> 264318 bytes tools/sdk/esp32s2/lib/libesp_http_client.a | Bin 346300 -> 346300 bytes tools/sdk/esp32s2/lib/libesp_http_server.a | Bin 461890 -> 461890 bytes tools/sdk/esp32s2/lib/libesp_https_ota.a | Bin 73224 -> 73224 bytes tools/sdk/esp32s2/lib/libesp_https_server.a | Bin 74096 -> 74096 bytes tools/sdk/esp32s2/lib/libesp_local_ctrl.a | Bin 316080 -> 316080 bytes tools/sdk/esp32s2/lib/libesp_netif.a | Bin 872456 -> 872456 bytes tools/sdk/esp32s2/lib/libesp_ringbuf.a | Bin 170730 -> 170730 bytes .../esp32s2/lib/libesp_serial_slave_link.a | Bin 224770 -> 224770 bytes tools/sdk/esp32s2/lib/libesp_system.a | Bin 306818 -> 306818 bytes tools/sdk/esp32s2/lib/libesp_timer.a | Bin 138150 -> 138150 bytes .../sdk/esp32s2/lib/libesp_websocket_client.a | Bin 174822 -> 174822 bytes tools/sdk/esp32s2/lib/libesp_wifi.a | Bin 890178 -> 890178 bytes tools/sdk/esp32s2/lib/libespcoredump.a | Bin 163824 -> 163824 bytes tools/sdk/esp32s2/lib/libexpat.a | Bin 1477050 -> 1477050 bytes tools/sdk/esp32s2/lib/libfatfs.a | Bin 848492 -> 848492 bytes tools/sdk/esp32s2/lib/libfb_gfx.a | Bin 31284 -> 31284 bytes tools/sdk/esp32s2/lib/libfreemodbus.a | Bin 1373688 -> 1373688 bytes tools/sdk/esp32s2/lib/libfreertos.a | Bin 708118 -> 708118 bytes tools/sdk/esp32s2/lib/libheap.a | Bin 327978 -> 327978 bytes tools/sdk/esp32s2/lib/libjsmn.a | Bin 26930 -> 26930 bytes tools/sdk/esp32s2/lib/libjson.a | Bin 374690 -> 374690 bytes tools/sdk/esp32s2/lib/liblibsodium.a | Bin 4024304 -> 4024304 bytes tools/sdk/esp32s2/lib/liblog.a | Bin 93052 -> 93052 bytes tools/sdk/esp32s2/lib/liblwip.a | Bin 6099790 -> 6099790 bytes tools/sdk/esp32s2/lib/libmbedcrypto.a | Bin 3198174 -> 3198174 bytes tools/sdk/esp32s2/lib/libmbedtls.a | Bin 1211504 -> 1211504 bytes tools/sdk/esp32s2/lib/libmbedx509.a | Bin 652188 -> 652188 bytes tools/sdk/esp32s2/lib/libmdns.a | Bin 1055602 -> 1055602 bytes tools/sdk/esp32s2/lib/libmqtt.a | Bin 485944 -> 485944 bytes tools/sdk/esp32s2/lib/libnewlib.a | Bin 255916 -> 255916 bytes tools/sdk/esp32s2/lib/libnghttp.a | Bin 1926106 -> 1926106 bytes tools/sdk/esp32s2/lib/libnvs_flash.a | Bin 1415266 -> 1415266 bytes tools/sdk/esp32s2/lib/libopenssl.a | Bin 381044 -> 381044 bytes tools/sdk/esp32s2/lib/libperfmon.a | Bin 76048 -> 76048 bytes tools/sdk/esp32s2/lib/libprotobuf-c.a | Bin 444364 -> 444364 bytes tools/sdk/esp32s2/lib/libprotocomm.a | Bin 437852 -> 437852 bytes tools/sdk/esp32s2/lib/libpthread.a | Bin 184068 -> 184068 bytes tools/sdk/esp32s2/lib/libsdmmc.a | Bin 418222 -> 418222 bytes tools/sdk/esp32s2/lib/libsoc.a | Bin 2261934 -> 2261934 bytes tools/sdk/esp32s2/lib/libsoc_esp32s2.a | Bin 480430 -> 480430 bytes tools/sdk/esp32s2/lib/libspi_flash.a | Bin 871014 -> 871014 bytes tools/sdk/esp32s2/lib/libspiffs.a | Bin 766734 -> 766734 bytes tools/sdk/esp32s2/lib/libtcp_transport.a | Bin 322210 -> 322210 bytes tools/sdk/esp32s2/lib/libtcpip_adapter.a | Bin 191804 -> 191804 bytes tools/sdk/esp32s2/lib/libulp.a | Bin 50318 -> 50318 bytes tools/sdk/esp32s2/lib/libunity.a | Bin 232034 -> 232034 bytes tools/sdk/esp32s2/lib/libvfs.a | Bin 405678 -> 405678 bytes tools/sdk/esp32s2/lib/libwear_levelling.a | Bin 332428 -> 332428 bytes tools/sdk/esp32s2/lib/libwifi_provisioning.a | Bin 966752 -> 966752 bytes tools/sdk/esp32s2/lib/libwpa_supplicant.a | Bin 6764854 -> 6764854 bytes tools/sdk/esp32s2/lib/libxtensa.a | Bin 155350 -> 155350 bytes 71 files changed, 289 insertions(+), 2 deletions(-) create mode 100644 cores/esp32/esp32-hal-tinyusb.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 69953843e..3451e969c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,6 +15,7 @@ set(CORE_SRCS cores/esp32/esp32-hal-spi.c cores/esp32/esp32-hal-time.c cores/esp32/esp32-hal-timer.c + cores/esp32/esp32-hal-tinyusb.c cores/esp32/esp32-hal-touch.c cores/esp32/esp32-hal-uart.c cores/esp32/esp32-hal-rmt.c diff --git a/cores/esp32/esp32-hal-tinyusb.c b/cores/esp32/esp32-hal-tinyusb.c new file mode 100644 index 000000000..8db442f8a --- /dev/null +++ b/cores/esp32/esp32-hal-tinyusb.c @@ -0,0 +1,286 @@ + +#include "sdkconfig.h" +#if CONFIG_USB_ENABLED + + +#include +#include "esp_log.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "driver/gpio.h" +#include "tinyusb.h" + +static const char *TAG = "example"; + +#if CONFIG_USB_MSC_ENABLED + +#define README_CONTENTS "This is tinyusb's MassStorage Class demo.\r\n\r\nIf you find any bugs or get any questions, feel free to file an\r\nissue at github.com/hathach/tinyusb" + +enum +{ + DISK_BLOCK_NUM = 2 * 140, // 8KB is the smallest size that windows allow to mount + DISK_BLOCK_SIZE = 512 +}; + +#ifdef CFG_EXAMPLE_MSC_READONLY +const +#endif +uint8_t msc_disk[DISK_BLOCK_NUM][DISK_BLOCK_SIZE] = +{ + //------------- Block0: Boot Sector -------------// + // byte_per_sector = DISK_BLOCK_SIZE; fat12_sector_num_16 = DISK_BLOCK_NUM; + // sector_per_cluster = 1; reserved_sectors = 1; + // fat_num = 1; fat12_root_entry_num = 16; + // sector_per_fat = 1; sector_per_track = 1; head_num = 1; hidden_sectors = 0; + // drive_number = 0x80; media_type = 0xf8; extended_boot_signature = 0x29; + // filesystem_type = "FAT12 "; volume_serial_number = 0x1234; volume_label = "TinyUSB MSC"; + // FAT magic code at offset 510-511 + { + 0xEB, 0x3C, 0x90, 0x4D, 0x53, 0x44, 0x4F, 0x53, 0x35, 0x2E, 0x30, 0x00, 0x02, 0x01, 0x01, 0x00, + 0x01, 0x10, 0x00, 0x10, 0x00, 0xF8, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x29, 0x34, 0x12, 0x00, 0x00, 'E' , 'S' , 'P' , '3' , '2' , + 'S' , '2' , ' ' , 'M' , 'S' , 'C' , 0x46, 0x41, 0x54, 0x31, 0x32, 0x20, 0x20, 0x20, 0x00, 0x00, + + // Zero up to 2 last bytes of FAT magic code + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xAA + }, + + //------------- Block1: FAT12 Table -------------// + { + 0xF8, 0xFF, 0xFF, 0xFF, 0x0F // // first 2 entries must be F8FF, third entry is cluster end of readme file + }, + + //------------- Block2: Root Directory -------------// + { + // first entry is volume label + 'E' , 'S' , 'P' , '3' , '2' , 'S' , '2' , ' ' , 'M' , 'S' , 'C' , 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x6D, 0x65, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + // second entry is readme file + 'R' , 'E' , 'A' , 'D' , 'M' , 'E' , ' ' , ' ' , 'T' , 'X' , 'T' , 0x20, 0x00, 0xC6, 0x52, 0x6D, + 0x65, 0x43, 0x65, 0x43, 0x00, 0x00, 0x88, 0x6D, 0x65, 0x43, 0x02, 0x00, + sizeof(README_CONTENTS) - 1, 0x00, 0x00, 0x00 // readme's files size (4 Bytes) + }, + + //------------- Block3: Readme Content -------------// + README_CONTENTS +}; + +// Invoked when received SCSI_CMD_INQUIRY +// Application fill vendor id, product id and revision with string up to 8, 16, 4 characters respectively +void tud_msc_inquiry_cb(uint8_t lun, uint8_t vendor_id[8], uint8_t product_id[16], uint8_t product_rev[4]) +{ + (void) lun; + + const char vid[] = "Espressif"; + const char pid[] = "Mass Storage"; + const char rev[] = "1.0"; + + memcpy(vendor_id , vid, strlen(vid)); + memcpy(product_id , pid, strlen(pid)); + memcpy(product_rev, rev, strlen(rev)); + ESP_LOGI(__func__, ""); +} + +// Invoked when received Test Unit Ready command. +// return true allowing host to read/write this LUN e.g SD card inserted +bool tud_msc_test_unit_ready_cb(uint8_t lun) +{ + (void) lun; + ESP_LOGI(__func__, ""); + + return true; // RAM disk is always ready +} + +// Invoked when received SCSI_CMD_READ_CAPACITY_10 and SCSI_CMD_READ_FORMAT_CAPACITY to determine the disk size +// Application update block count and block size +void tud_msc_capacity_cb(uint8_t lun, uint32_t* block_count, uint16_t* block_size) +{ + (void) lun; + ESP_LOGI(__func__, ""); + + *block_count = DISK_BLOCK_NUM; + *block_size = DISK_BLOCK_SIZE; +} + +// Invoked when received Start Stop Unit command +// - Start = 0 : stopped power mode, if load_eject = 1 : unload disk storage +// - Start = 1 : active mode, if load_eject = 1 : load disk storage +bool tud_msc_start_stop_cb(uint8_t lun, uint8_t power_condition, bool start, bool load_eject) +{ + (void) lun; + (void) power_condition; + ESP_LOGI(__func__, ""); + + if ( load_eject ) + { + if (start) + { + // load disk storage + } else + { + // unload disk storage + } + } + + return true; +} + +// Callback invoked when received READ10 command. +// Copy disk's data to buffer (up to bufsize) and return number of copied bytes. +int32_t tud_msc_read10_cb(uint8_t lun, uint32_t lba, uint32_t offset, void* buffer, uint32_t bufsize) +{ + (void) lun; + ESP_LOGI(__func__, ""); + + uint8_t const* addr = msc_disk[lba] + offset; + memcpy(buffer, addr, bufsize); + + return bufsize; +} + +// Callback invoked when received WRITE10 command. +// Process data in buffer to disk's storage and return number of written bytes +int32_t tud_msc_write10_cb(uint8_t lun, uint32_t lba, uint32_t offset, uint8_t* buffer, uint32_t bufsize) +{ + (void) lun; + ESP_LOGI(__func__, ""); + +#ifndef CFG_EXAMPLE_MSC_READONLY + uint8_t* addr = msc_disk[lba] + offset; + memcpy(addr, buffer, bufsize); +#else + (void) lba; (void) offset; (void) buffer; +#endif + + return bufsize; +} + +// Callback invoked when received an SCSI command not in built-in list below +// - READ_CAPACITY10, READ_FORMAT_CAPACITY, INQUIRY, MODE_SENSE6, REQUEST_SENSE +// - READ10 and WRITE10 has their own callbacks +int32_t tud_msc_scsi_cb (uint8_t lun, uint8_t const scsi_cmd[16], void* buffer, uint16_t bufsize) +{ + // read10 & write10 has their own callback and MUST not be handled here + ESP_LOGI(__func__, ""); + + void const* response = NULL; + uint16_t resplen = 0; + + // most scsi handled is input + bool in_xfer = true; + + switch (scsi_cmd[0]) + { + case SCSI_CMD_PREVENT_ALLOW_MEDIUM_REMOVAL: + // Host is about to read/write etc ... better not to disconnect disk + resplen = 0; + break; + + default: + // Set Sense = Invalid Command Operation + tud_msc_set_sense(lun, SCSI_SENSE_ILLEGAL_REQUEST, 0x20, 0x00); + + // negative means error -> tinyusb could stall and/or response with failed status + resplen = -1; + break; + } + + // return resplen must not larger than bufsize + if ( resplen > bufsize ) resplen = bufsize; + + if ( response && (resplen > 0) ) + { + if (in_xfer) + { + memcpy(buffer, response, resplen); + } else + { + // SCSI output + } + } + + return resplen; +} + +#endif /* CONFIG_USB_MSC_ENABLED */ + +#if CONFIG_USB_CDC_ENABLED +void tud_cdc_line_state_cb(uint8_t itf, bool dtr, bool rts) { + if (dtr && rts) { + tud_cdc_write_str("Welcome to tinyUSB CDC example!!!\r\n"); + } +} +#endif /* CONFIG_USB_CDC_ENABLED */ + +// USB Device Driver task +// This top level thread processes all usb events and invokes callbacks +void usb_device_task(void *param) { + (void)param; + ESP_LOGI(TAG, "USB task started"); + while (1) { + tud_task(); // RTOS forever loop + } +} + +void cloop() { +#if CONFIG_USB_CDC_ENABLED + if (tud_cdc_connected()) { + // connected and there are data available + if ( tud_cdc_available() ) { + uint8_t buf[64]; + // read and echo back + uint32_t count = tud_cdc_read(buf, sizeof(buf)); + for (uint32_t i = 0; i < count; i++) { + tud_cdc_write_char(buf[i]); + if ( buf[i] == '\r' ) { + tud_cdc_write_str("\n > "); + } + } + tud_cdc_write_flush(); + } + } +#endif /* CONFIG_USB_CDC_ENABLED */ +} + +void csetup() { + tinyusb_config_t tusb_cfg = { + .descriptor = NULL, + .string_descriptor = NULL, + .external_phy = false + }; + + ESP_ERROR_CHECK(tinyusb_driver_install(&tusb_cfg)); + xTaskCreate(usb_device_task, "usbd", 4096, NULL, 24, NULL); +} + +#endif /* CONFIG_USB_ENABLED */ \ No newline at end of file diff --git a/tools/sdk/esp32s2/ld/esp32s2.project.ld b/tools/sdk/esp32s2/ld/esp32s2.project.ld index 75c167290..ddd648e75 100644 --- a/tools/sdk/esp32s2/ld/esp32s2.project.ld +++ b/tools/sdk/esp32s2/ld/esp32s2.project.ld @@ -381,7 +381,7 @@ SECTIONS *(.rodata_desc .rodata_desc.*) /* Should be the first. App version info. DO NOT PUT ANYTHING BEFORE IT! */ *(.rodata_custom_desc .rodata_custom_desc.*) /* Should be the second. Custom app version info. DO NOT PUT ANYTHING BEFORE IT! */ - *(EXCLUDE_FILE(*libgcov.a *libapp_trace.a:SEGGER_RTT_esp32.* *libapp_trace.a:SEGGER_SYSVIEW_FreeRTOS.* *libapp_trace.a:app_trace_util.* *libapp_trace.a:app_trace.* *libapp_trace.a:SEGGER_SYSVIEW_Config_FreeRTOS.* *libapp_trace.a:SEGGER_SYSVIEW.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libesp_system.a:panic_handler.* *libesp_system.a:panic.* *libesp_common.a:esp_err.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_gd.* *libsoc.a:wdt_hal_iram.* *libsoc.a:lldesc.* *libsoc.a:systimer_hal.* *libsoc.a:cpu_hal.* *libsoc.a:spi_slave_hal_iram.* *libsoc.a:spi_hal_iram.* *libsoc.a:soc_hal.* *libsoc.a:uart_hal_iram.* *libsoc.a:i2c_hal_iram.* *libsoc.a:spi_flash_hal_iram.* *libsoc.a:spi_flash_hal_gpspi.* *libsoc.a:rtc_clk.* *libsoc.a:ledc_hal_iram.* *libxtensa.a:stdatomic.* *libnewlib.a:heap.* *libnewlib.a:abort.* *libphy.a) .rodata EXCLUDE_FILE(*libgcov.a *libapp_trace.a:SEGGER_RTT_esp32.* *libapp_trace.a:SEGGER_SYSVIEW_FreeRTOS.* *libapp_trace.a:app_trace_util.* *libapp_trace.a:app_trace.* *libapp_trace.a:SEGGER_SYSVIEW_Config_FreeRTOS.* *libapp_trace.a:SEGGER_SYSVIEW.* *liblog.a:log_freertos.* *liblog.a:log.* *libesp_event.a:esp_event.* *libesp_event.a:default_event_loop.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libesp_system.a:system_api.* *libesp_system.a:panic_handler.* *libesp_system.a:panic.* *libesp_common.a:esp_err.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_gd.* *libsoc.a:wdt_hal_iram.* *libsoc.a:lldesc.* *libsoc.a:systimer_hal.* *libsoc.a:cpu_hal.* *libsoc.a:spi_slave_hal_iram.* *libsoc.a:spi_hal_iram.* *libsoc.a:soc_hal.* *libsoc.a:uart_hal_iram.* *libsoc.a:i2c_hal_iram.* *libsoc.a:spi_flash_hal_iram.* *libsoc.a:spi_flash_hal_gpspi.* *libsoc.a:rtc_clk.* *libsoc.a:ledc_hal_iram.* *libdriver.a:gpio.* *libxtensa.a:stdatomic.* *libnewlib.a:heap.* *libnewlib.a:abort.* *libfreertos.a:queue.* *libphy.a) .rodata.*) + *(EXCLUDE_FILE(*libgcov.a *libapp_trace.a:SEGGER_RTT_esp32.* *libapp_trace.a:SEGGER_SYSVIEW_FreeRTOS.* *libapp_trace.a:app_trace_util.* *libapp_trace.a:app_trace.* *libapp_trace.a:SEGGER_SYSVIEW_Config_FreeRTOS.* *libapp_trace.a:SEGGER_SYSVIEW.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libesp_system.a:panic_handler.* *libesp_system.a:panic.* *libesp_common.a:esp_err.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_gd.* *libsoc.a:soc_hal.* *libsoc.a:wdt_hal_iram.* *libsoc.a:lldesc.* *libsoc.a:systimer_hal.* *libsoc.a:cpu_hal.* *libsoc.a:spi_slave_hal_iram.* *libsoc.a:spi_hal_iram.* *libsoc.a:uart_hal_iram.* *libsoc.a:i2c_hal_iram.* *libsoc.a:spi_flash_hal_iram.* *libsoc.a:spi_flash_hal_gpspi.* *libsoc.a:rtc_clk.* *libsoc.a:ledc_hal_iram.* *libxtensa.a:stdatomic.* *libnewlib.a:heap.* *libnewlib.a:abort.* *libphy.a) .rodata EXCLUDE_FILE(*libgcov.a *libapp_trace.a:SEGGER_RTT_esp32.* *libapp_trace.a:SEGGER_SYSVIEW_FreeRTOS.* *libapp_trace.a:app_trace_util.* *libapp_trace.a:app_trace.* *libapp_trace.a:SEGGER_SYSVIEW_Config_FreeRTOS.* *libapp_trace.a:SEGGER_SYSVIEW.* *liblog.a:log_freertos.* *liblog.a:log.* *libesp_event.a:esp_event.* *libesp_event.a:default_event_loop.* *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libesp_system.a:system_api.* *libesp_system.a:panic_handler.* *libesp_system.a:panic.* *libesp_common.a:esp_err.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_gd.* *libsoc.a:soc_hal.* *libsoc.a:wdt_hal_iram.* *libsoc.a:lldesc.* *libsoc.a:systimer_hal.* *libsoc.a:cpu_hal.* *libsoc.a:spi_slave_hal_iram.* *libsoc.a:spi_hal_iram.* *libsoc.a:uart_hal_iram.* *libsoc.a:i2c_hal_iram.* *libsoc.a:spi_flash_hal_iram.* *libsoc.a:spi_flash_hal_gpspi.* *libsoc.a:rtc_clk.* *libsoc.a:ledc_hal_iram.* *libdriver.a:gpio.* *libxtensa.a:stdatomic.* *libnewlib.a:heap.* *libnewlib.a:abort.* *libfreertos.a:queue.* *libphy.a) .rodata.*) *libdriver.a:gpio.*(.rodata.gpio_input_enable.str1.4 .rodata.gpio_output_enable.str1.4 .rodata.gpio_set_intr_type.str1.4 .rodata.gpio_set_pull_mode.str1.4 .rodata.gpio_set_direction.str1.4 .rodata.gpio_config.str1.4 .rodata.gpio_reset_pin.str1.4 .rodata.gpio_isr_handler_add.str1.4 .rodata.gpio_isr_register.str1.4 .rodata.gpio_install_isr_service.str1.4 .rodata.gpio_wakeup_enable.str1.4 .rodata.gpio_set_drive_capability.str1.4 .rodata.gpio_get_drive_capability.str1.4 .rodata.gpio_hold_en.str1.4 .rodata.__FUNCTION__$7299 .rodata.__FUNCTION__$7294 .rodata.__FUNCTION__$7289 .rodata.__FUNCTION__$7283 .rodata.__FUNCTION__$7277 .rodata.__FUNCTION__$7272 .rodata.__FUNCTION__$7265 .rodata.__FUNCTION__$7250 .rodata.__FUNCTION__$7246 .rodata.__FUNCTION__$7239 .rodata.__func__$7220 .rodata.__FUNCTION__$7173 .rodata.__FUNCTION__$7177 .rodata.__FUNCTION__$7165 .rodata.__FUNCTION__$7169 .rodata.__FUNCTION__$7157 .rodata.__FUNCTION__$7161 .rodata.__FUNCTION__$7202 .rodata.__FUNCTION__$7190 .rodata.__FUNCTION__$7182 .rodata.__FUNCTION__$7153 .rodata.__FUNCTION__$7145 .rodata.__FUNCTION__$7149 .rodata.__FUNCTION__$7140 .rodata.__FUNCTION__$7135 .rodata.__FUNCTION__$7131 .rodata.__FUNCTION__$7127 .rodata.__FUNCTION__$7123) *libesp_event.a:default_event_loop.*(.rodata.esp_event_loop_create_default.str1.4 .rodata.esp_event_send_to_default_loop) *libesp_event.a:esp_event.*(.rodata.base_node_add_handler.str1.4 .rodata.loop_node_add_handler.str1.4 .rodata.esp_event_loop_create.str1.4 .rodata.esp_event_loop_run.str1.4 .rodata.esp_event_loop_run_task.str1.4 .rodata.esp_event_handler_register_with_internal.str1.4 .rodata.esp_event_handler_unregister_with_internal.str1.4 .rodata.__func__$9783 .rodata.__func__$9770 .rodata.__func__$9737 .rodata.__func__$9705 .rodata.__func__$9680 .rodata.__func__$9639 .rodata.__func__$9630) @@ -450,7 +450,7 @@ SECTIONS _stext = .; _text_start = ABSOLUTE(.); - *(EXCLUDE_FILE(*libesp_ringbuf.a *libgcov.a *libapp_trace.a:SEGGER_RTT_esp32.* *libapp_trace.a:SEGGER_SYSVIEW_FreeRTOS.* *libapp_trace.a:app_trace_util.* *libapp_trace.a:app_trace.* *libapp_trace.a:SEGGER_SYSVIEW_Config_FreeRTOS.* *libapp_trace.a:SEGGER_SYSVIEW.* *libgcc.a:lib2funcs.* *librtc.a *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libesp_system.a:panic_handler.* *libesp_system.a:panic.* *libesp_common.a:esp_err.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_gd.* *libsoc.a:wdt_hal_iram.* *libsoc.a:lldesc.* *libsoc.a:rtc_time.* *libsoc.a:systimer_hal.* *libsoc.a:cpu_hal.* *libsoc.a:spi_slave_hal_iram.* *libsoc.a:spi_hal_iram.* *libsoc.a:rtc_pm.* *libsoc.a:soc_hal.* *libsoc.a:rtc_sleep.* *libsoc.a:uart_hal_iram.* *libsoc.a:i2c_hal_iram.* *libsoc.a:rtc_wdt.* *libsoc.a:rtc_clk_init.* *libsoc.a:rtc_periph.* *libsoc.a:spi_flash_hal_iram.* *libsoc.a:rtc_init.* *libsoc.a:spi_flash_hal_gpspi.* *libsoc.a:rtc_clk.* *libsoc.a:cpu_util.* *libsoc.a:ledc_hal_iram.* *libxtensa.a:eri.* *libxtensa.a:stdatomic.* *libnewlib.a:heap.* *libnewlib.a:abort.* *libhal.a *libfreertos.a) .literal EXCLUDE_FILE(*libesp_ringbuf.a *libgcov.a *libapp_trace.a:SEGGER_RTT_esp32.* *libapp_trace.a:SEGGER_SYSVIEW_FreeRTOS.* *libapp_trace.a:app_trace_util.* *libapp_trace.a:app_trace.* *libapp_trace.a:SEGGER_SYSVIEW_Config_FreeRTOS.* *libapp_trace.a:SEGGER_SYSVIEW.* *liblog.a:log.* *liblog.a:log_freertos.* *libgcc.a:lib2funcs.* *libesp_event.a:default_event_loop.* *libesp_event.a:esp_event.* *librtc.a *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libesp_system.a:system_api.* *libesp_system.a:panic_handler.* *libesp_system.a:panic.* *libesp_common.a:esp_err.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_gd.* *libsoc.a:wdt_hal_iram.* *libsoc.a:lldesc.* *libsoc.a:rtc_time.* *libsoc.a:systimer_hal.* *libsoc.a:cpu_hal.* *libsoc.a:spi_slave_hal_iram.* *libsoc.a:spi_hal_iram.* *libsoc.a:rtc_pm.* *libsoc.a:soc_hal.* *libsoc.a:rtc_sleep.* *libsoc.a:uart_hal_iram.* *libsoc.a:i2c_hal_iram.* *libsoc.a:rtc_wdt.* *libsoc.a:rtc_clk_init.* *libsoc.a:rtc_periph.* *libsoc.a:spi_flash_hal_iram.* *libsoc.a:rtc_init.* *libsoc.a:spi_flash_hal_gpspi.* *libsoc.a:rtc_clk.* *libsoc.a:cpu_util.* *libsoc.a:ledc_hal_iram.* *libdriver.a:gpio.* *libxtensa.a:eri.* *libxtensa.a:stdatomic.* *libnewlib.a:heap.* *libnewlib.a:abort.* *libhal.a *libfreertos.a) .literal.* EXCLUDE_FILE(*libesp_ringbuf.a *libgcov.a *libapp_trace.a:SEGGER_RTT_esp32.* *libapp_trace.a:SEGGER_SYSVIEW_FreeRTOS.* *libapp_trace.a:app_trace_util.* *libapp_trace.a:app_trace.* *libapp_trace.a:SEGGER_SYSVIEW_Config_FreeRTOS.* *libapp_trace.a:SEGGER_SYSVIEW.* *libgcc.a:lib2funcs.* *librtc.a *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libesp_system.a:panic_handler.* *libesp_system.a:panic.* *libesp_common.a:esp_err.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_gd.* *libsoc.a:wdt_hal_iram.* *libsoc.a:lldesc.* *libsoc.a:rtc_time.* *libsoc.a:systimer_hal.* *libsoc.a:cpu_hal.* *libsoc.a:spi_slave_hal_iram.* *libsoc.a:spi_hal_iram.* *libsoc.a:rtc_pm.* *libsoc.a:soc_hal.* *libsoc.a:rtc_sleep.* *libsoc.a:uart_hal_iram.* *libsoc.a:i2c_hal_iram.* *libsoc.a:rtc_wdt.* *libsoc.a:rtc_clk_init.* *libsoc.a:rtc_periph.* *libsoc.a:spi_flash_hal_iram.* *libsoc.a:rtc_init.* *libsoc.a:spi_flash_hal_gpspi.* *libsoc.a:rtc_clk.* *libsoc.a:cpu_util.* *libsoc.a:ledc_hal_iram.* *libxtensa.a:eri.* *libxtensa.a:stdatomic.* *libnewlib.a:heap.* *libnewlib.a:abort.* *libhal.a *libfreertos.a) .text EXCLUDE_FILE(*libesp_ringbuf.a *libgcov.a *libapp_trace.a:SEGGER_RTT_esp32.* *libapp_trace.a:SEGGER_SYSVIEW_FreeRTOS.* *libapp_trace.a:app_trace_util.* *libapp_trace.a:app_trace.* *libapp_trace.a:SEGGER_SYSVIEW_Config_FreeRTOS.* *libapp_trace.a:SEGGER_SYSVIEW.* *liblog.a:log.* *liblog.a:log_freertos.* *libgcc.a:lib2funcs.* *libesp_event.a:default_event_loop.* *libesp_event.a:esp_event.* *librtc.a *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libesp_system.a:system_api.* *libesp_system.a:panic_handler.* *libesp_system.a:panic.* *libesp_common.a:esp_err.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_gd.* *libsoc.a:wdt_hal_iram.* *libsoc.a:lldesc.* *libsoc.a:rtc_time.* *libsoc.a:systimer_hal.* *libsoc.a:cpu_hal.* *libsoc.a:spi_slave_hal_iram.* *libsoc.a:spi_hal_iram.* *libsoc.a:rtc_pm.* *libsoc.a:soc_hal.* *libsoc.a:rtc_sleep.* *libsoc.a:uart_hal_iram.* *libsoc.a:i2c_hal_iram.* *libsoc.a:rtc_wdt.* *libsoc.a:rtc_clk_init.* *libsoc.a:rtc_periph.* *libsoc.a:spi_flash_hal_iram.* *libsoc.a:rtc_init.* *libsoc.a:spi_flash_hal_gpspi.* *libsoc.a:rtc_clk.* *libsoc.a:cpu_util.* *libsoc.a:ledc_hal_iram.* *libdriver.a:gpio.* *libxtensa.a:eri.* *libxtensa.a:stdatomic.* *libnewlib.a:heap.* *libnewlib.a:abort.* *libhal.a *libfreertos.a) .text.* EXCLUDE_FILE(*libpp.a *libnet80211.a *libsoc.a:uart_hal_iram.*) .wifi0iram EXCLUDE_FILE(*libpp.a *libnet80211.a *libsoc.a:uart_hal_iram.* *libfreertos.a:queue.*) .wifi0iram.* EXCLUDE_FILE(*libsoc.a:uart_hal_iram.*) .wifirxiram EXCLUDE_FILE(*libsoc.a:uart_hal_iram.* *libfreertos.a:queue.*) .wifirxiram.*) + *(EXCLUDE_FILE(*libesp_ringbuf.a *libgcov.a *libapp_trace.a:SEGGER_RTT_esp32.* *libapp_trace.a:SEGGER_SYSVIEW_FreeRTOS.* *libapp_trace.a:app_trace_util.* *libapp_trace.a:app_trace.* *libapp_trace.a:SEGGER_SYSVIEW_Config_FreeRTOS.* *libapp_trace.a:SEGGER_SYSVIEW.* *libgcc.a:lib2funcs.* *librtc.a *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libesp_system.a:panic_handler.* *libesp_system.a:panic.* *libesp_common.a:esp_err.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_gd.* *libsoc.a:soc_hal.* *libsoc.a:wdt_hal_iram.* *libsoc.a:lldesc.* *libsoc.a:rtc_time.* *libsoc.a:systimer_hal.* *libsoc.a:cpu_hal.* *libsoc.a:spi_slave_hal_iram.* *libsoc.a:spi_hal_iram.* *libsoc.a:rtc_pm.* *libsoc.a:rtc_sleep.* *libsoc.a:uart_hal_iram.* *libsoc.a:i2c_hal_iram.* *libsoc.a:rtc_wdt.* *libsoc.a:rtc_clk_init.* *libsoc.a:rtc_periph.* *libsoc.a:spi_flash_hal_iram.* *libsoc.a:rtc_init.* *libsoc.a:spi_flash_hal_gpspi.* *libsoc.a:rtc_clk.* *libsoc.a:cpu_util.* *libsoc.a:ledc_hal_iram.* *libxtensa.a:eri.* *libxtensa.a:stdatomic.* *libnewlib.a:heap.* *libnewlib.a:abort.* *libhal.a *libfreertos.a) .literal EXCLUDE_FILE(*libesp_ringbuf.a *libgcov.a *libapp_trace.a:SEGGER_RTT_esp32.* *libapp_trace.a:SEGGER_SYSVIEW_FreeRTOS.* *libapp_trace.a:app_trace_util.* *libapp_trace.a:app_trace.* *libapp_trace.a:SEGGER_SYSVIEW_Config_FreeRTOS.* *libapp_trace.a:SEGGER_SYSVIEW.* *liblog.a:log.* *liblog.a:log_freertos.* *libgcc.a:lib2funcs.* *libesp_event.a:default_event_loop.* *libesp_event.a:esp_event.* *librtc.a *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libesp_system.a:system_api.* *libesp_system.a:panic_handler.* *libesp_system.a:panic.* *libesp_common.a:esp_err.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_gd.* *libsoc.a:soc_hal.* *libsoc.a:wdt_hal_iram.* *libsoc.a:lldesc.* *libsoc.a:rtc_time.* *libsoc.a:systimer_hal.* *libsoc.a:cpu_hal.* *libsoc.a:spi_slave_hal_iram.* *libsoc.a:spi_hal_iram.* *libsoc.a:rtc_pm.* *libsoc.a:rtc_sleep.* *libsoc.a:uart_hal_iram.* *libsoc.a:i2c_hal_iram.* *libsoc.a:rtc_wdt.* *libsoc.a:rtc_clk_init.* *libsoc.a:rtc_periph.* *libsoc.a:spi_flash_hal_iram.* *libsoc.a:rtc_init.* *libsoc.a:spi_flash_hal_gpspi.* *libsoc.a:rtc_clk.* *libsoc.a:cpu_util.* *libsoc.a:ledc_hal_iram.* *libdriver.a:gpio.* *libxtensa.a:eri.* *libxtensa.a:stdatomic.* *libnewlib.a:heap.* *libnewlib.a:abort.* *libhal.a *libfreertos.a) .literal.* EXCLUDE_FILE(*libesp_ringbuf.a *libgcov.a *libapp_trace.a:SEGGER_RTT_esp32.* *libapp_trace.a:SEGGER_SYSVIEW_FreeRTOS.* *libapp_trace.a:app_trace_util.* *libapp_trace.a:app_trace.* *libapp_trace.a:SEGGER_SYSVIEW_Config_FreeRTOS.* *libapp_trace.a:SEGGER_SYSVIEW.* *libgcc.a:lib2funcs.* *librtc.a *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libesp_system.a:panic_handler.* *libesp_system.a:panic.* *libesp_common.a:esp_err.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_gd.* *libsoc.a:soc_hal.* *libsoc.a:wdt_hal_iram.* *libsoc.a:lldesc.* *libsoc.a:rtc_time.* *libsoc.a:systimer_hal.* *libsoc.a:cpu_hal.* *libsoc.a:spi_slave_hal_iram.* *libsoc.a:spi_hal_iram.* *libsoc.a:rtc_pm.* *libsoc.a:rtc_sleep.* *libsoc.a:uart_hal_iram.* *libsoc.a:i2c_hal_iram.* *libsoc.a:rtc_wdt.* *libsoc.a:rtc_clk_init.* *libsoc.a:rtc_periph.* *libsoc.a:spi_flash_hal_iram.* *libsoc.a:rtc_init.* *libsoc.a:spi_flash_hal_gpspi.* *libsoc.a:rtc_clk.* *libsoc.a:cpu_util.* *libsoc.a:ledc_hal_iram.* *libxtensa.a:eri.* *libxtensa.a:stdatomic.* *libnewlib.a:heap.* *libnewlib.a:abort.* *libhal.a *libfreertos.a) .text EXCLUDE_FILE(*libesp_ringbuf.a *libgcov.a *libapp_trace.a:SEGGER_RTT_esp32.* *libapp_trace.a:SEGGER_SYSVIEW_FreeRTOS.* *libapp_trace.a:app_trace_util.* *libapp_trace.a:app_trace.* *libapp_trace.a:SEGGER_SYSVIEW_Config_FreeRTOS.* *libapp_trace.a:SEGGER_SYSVIEW.* *liblog.a:log.* *liblog.a:log_freertos.* *libgcc.a:lib2funcs.* *libesp_event.a:default_event_loop.* *libesp_event.a:esp_event.* *librtc.a *libheap.a:multi_heap.* *libheap.a:multi_heap_poisoning.* *libesp_system.a:system_api.* *libesp_system.a:panic_handler.* *libesp_system.a:panic.* *libesp_common.a:esp_err.* *libspi_flash.a:spi_flash_chip_generic.* *libspi_flash.a:spi_flash_rom_patch.* *libspi_flash.a:spi_flash_chip_issi.* *libspi_flash.a:spi_flash_chip_mxic.* *libspi_flash.a:memspi_host_driver.* *libspi_flash.a:spi_flash_chip_gd.* *libsoc.a:soc_hal.* *libsoc.a:wdt_hal_iram.* *libsoc.a:lldesc.* *libsoc.a:rtc_time.* *libsoc.a:systimer_hal.* *libsoc.a:cpu_hal.* *libsoc.a:spi_slave_hal_iram.* *libsoc.a:spi_hal_iram.* *libsoc.a:rtc_pm.* *libsoc.a:rtc_sleep.* *libsoc.a:uart_hal_iram.* *libsoc.a:i2c_hal_iram.* *libsoc.a:rtc_wdt.* *libsoc.a:rtc_clk_init.* *libsoc.a:rtc_periph.* *libsoc.a:spi_flash_hal_iram.* *libsoc.a:rtc_init.* *libsoc.a:spi_flash_hal_gpspi.* *libsoc.a:rtc_clk.* *libsoc.a:cpu_util.* *libsoc.a:ledc_hal_iram.* *libdriver.a:gpio.* *libxtensa.a:eri.* *libxtensa.a:stdatomic.* *libnewlib.a:heap.* *libnewlib.a:abort.* *libhal.a *libfreertos.a) .text.* EXCLUDE_FILE(*libpp.a *libnet80211.a *libsoc.a:uart_hal_iram.*) .wifi0iram EXCLUDE_FILE(*libpp.a *libnet80211.a *libsoc.a:uart_hal_iram.* *libfreertos.a:queue.*) .wifi0iram.* EXCLUDE_FILE(*libsoc.a:uart_hal_iram.*) .wifirxiram EXCLUDE_FILE(*libsoc.a:uart_hal_iram.* *libfreertos.a:queue.*) .wifirxiram.*) *libdriver.a:gpio.*(.literal.gpio_input_enable .literal.gpio_input_disable .literal.gpio_output_disable .literal.gpio_od_enable .literal.gpio_od_disable .literal.gpio_intr_enable_on_core .literal.gpio_output_enable .literal.gpio_isr_register_on_core_static .literal.gpio_pullup_en .literal.gpio_pullup_dis .literal.gpio_pulldown_en .literal.gpio_pulldown_dis .literal.gpio_set_intr_type .literal.gpio_intr_enable .literal.gpio_intr_disable .literal.gpio_set_level .literal.gpio_get_level .literal.gpio_set_pull_mode .literal.gpio_set_direction .literal.gpio_config .literal.gpio_reset_pin .literal.gpio_isr_handler_add .literal.gpio_isr_handler_remove .literal.gpio_uninstall_isr_service .literal.gpio_isr_register .literal.gpio_install_isr_service .literal.gpio_wakeup_enable .literal.gpio_wakeup_disable .literal.gpio_set_drive_capability .literal.gpio_get_drive_capability .literal.gpio_hold_en .literal.gpio_hold_dis .literal.gpio_deep_sleep_hold_en .literal.gpio_deep_sleep_hold_dis .literal.gpio_force_hold_all .literal.gpio_force_unhold_all .text.gpio_input_enable .text.gpio_input_disable .text.gpio_output_disable .text.gpio_od_enable .text.gpio_od_disable .text.gpio_intr_enable_on_core .text.gpio_output_enable .text.gpio_isr_register_on_core_static .text.gpio_pullup_en .text.gpio_pullup_dis .text.gpio_pulldown_en .text.gpio_pulldown_dis .text.gpio_set_intr_type .text.gpio_intr_enable .text.gpio_intr_disable .text.gpio_set_level .text.gpio_get_level .text.gpio_set_pull_mode .text.gpio_set_direction .text.gpio_config .text.gpio_reset_pin .text.gpio_isr_handler_add .text.gpio_isr_handler_remove .text.gpio_uninstall_isr_service .text.gpio_isr_register .text.gpio_install_isr_service .text.gpio_wakeup_enable .text.gpio_wakeup_disable .text.gpio_set_drive_capability .text.gpio_get_drive_capability .text.gpio_hold_en .text.gpio_hold_dis .text.gpio_deep_sleep_hold_en .text.gpio_deep_sleep_hold_dis .text.gpio_force_hold_all .text.gpio_force_unhold_all) *libesp_event.a:default_event_loop.*(.literal.esp_event_handler_register .literal.esp_event_handler_instance_register .literal.esp_event_handler_unregister .literal.esp_event_handler_instance_unregister .literal.esp_event_post .literal.esp_event_loop_create_default .literal.esp_event_loop_delete_default .literal.esp_event_send_to_default_loop .text.esp_event_handler_register .text.esp_event_handler_instance_register .text.esp_event_handler_unregister .text.esp_event_handler_instance_unregister .text.esp_event_post .text.esp_event_loop_create_default .text.esp_event_loop_delete_default .text.esp_event_send_to_default_loop) *libesp_event.a:esp_event.*(.literal.handler_instances_remove_all .literal.base_node_remove_all_handler .literal.loop_node_remove_all_handler .literal.handler_instances_add .literal.base_node_add_handler .literal.loop_node_add_handler .literal.handler_instances_remove .literal.base_node_remove_handler .literal.loop_node_remove_handler .literal.esp_event_loop_create .literal.esp_event_loop_run .literal.esp_event_loop_run_task .literal.esp_event_loop_delete .literal.esp_event_handler_register_with_internal .literal.esp_event_handler_register_with .literal.esp_event_handler_instance_register_with .literal.esp_event_handler_unregister_with_internal .literal.esp_event_handler_unregister_with .literal.esp_event_handler_instance_unregister_with .literal.esp_event_post_to .text.handler_execute .text.handler_instances_remove_all .text.base_node_remove_all_handler .text.loop_node_remove_all_handler .text.handler_instances_add .text.base_node_add_handler .text.loop_node_add_handler .text.handler_instances_remove .text.base_node_remove_handler .text.loop_node_remove_handler .text.esp_event_loop_create .text.esp_event_loop_run .text.esp_event_loop_run_task .text.esp_event_loop_delete .text.esp_event_handler_register_with_internal .text.esp_event_handler_register_with .text.esp_event_handler_instance_register_with .text.esp_event_handler_unregister_with_internal .text.esp_event_handler_unregister_with .text.esp_event_handler_instance_unregister_with .text.esp_event_post_to .text.esp_event_dump) diff --git a/tools/sdk/esp32s2/lib/libapp_trace.a b/tools/sdk/esp32s2/lib/libapp_trace.a index 9ee3e1945bfcbff20f78284acd5fe043c222dfb2..7c9892938218c8c7abe2810561bb4970d1b19ad0 100644 GIT binary patch delta 65 zcmZ3nk$uHR_6c$bmZ*YW{OQT(Y-;DWg1^6x9iNy1Wei|+4zlKvBC z=`%|M3KS_(rb3k(bs98j(WXO}9(@K388K$Ulo@jtELpK8WW$yndk!2qapv;L((5Ds E0Ss delta 189 zcmW;8Hwpql002PFoO8~eu@poQzh_}3q4q<7fEi zo`gpdA~Iyjk*7eB5@jk>sZpmvlNN0{bm`G&z>pDRCQO+zXTg#cYhpHR*|F#FNy71V F{{a=pSgrs7 diff --git a/tools/sdk/esp32s2/lib/libbootloader_support.a b/tools/sdk/esp32s2/lib/libbootloader_support.a index 1f1bb8161b038da0c25f90b481e7c783e0732468..01f61c31c8d0124aae7a9f8a23266556cda08105 100644 GIT binary patch delta 223 zcmccjLG|7T)d_MehDHX)80-a+hD~mzWwxmMqf9u!pQ@#)PO)`~LzE`$;gHz=;UU|e2rz#;P-}`WLbYB8`*yt!4m}fyEKqex7+iMyJ0VUj PWiS_P<#uB;PHiUu$C*Og delta 223 zcmccjLG|7T)d_Me2FAvg8#W%}yz4Zrkn+2k_3q&!>aDjQ-fszf; z5Oo`@*u}S>-p}ak2Ifx|h!SfzVq@BF#Kx@Gf>6?4-Ng*VEZeKQShw0ElzN?F-R^aY ztxFuDG+_^i#P$yl+4e+$`P+e}r}!dN>vgbi*X!WWGl9qgRhNXpWw*Z*;?z=x}^|F X$-Nx5?e}un+cXej+v}#XFL4F{njtrb delta 185 zcmZ3qNq*5L`3Z6?2F9jF8=x}^|F X$-Nx5?e}un+cXej+v}#XFL4F{rqnm6 diff --git a/tools/sdk/esp32s2/lib/libcoap.a b/tools/sdk/esp32s2/lib/libcoap.a index e9094d14c5ad330cc587f9c04555a4e0153881b9..907ad39f51eeeb310d93879f7ae91919e6c9c262 100644 GIT binary patch delta 341 zcmZqspW606b%Gp=p^<^vMx|Y1Aco222Vy;WAeQOog4Q*Qz^v^G8jL;nAj}PHOfiKJ zra%SLg$OWn@&hrk_Fos6fS7svuL~^an!v)-fr=%!KMiJ;hUfq*lRC<}UFs;?v1Krw z;@f{`v!BgIa35c1*Np>l&43!j+qKO&fS41AxwdPYaXMQAwEcsw@B?R< xLb3K&g~C8Avi((|sM1WZ@OA-iu^E0KrrC5LQ=wqYeI?B3T>L}Z>Wnd*h zo#NYnXS1KpMsOcrXV;B`nJeC|ZN>q_oIuRAUE7TN;SaD>yMR8=b^(3fGZ_%>gXz56 zA57;nD1&JfYuDoA2V#NkT6}_h<}hLL?ZK{sm0;V9w_n&GC{qj3|3O!1`v+a&2hK2s wV(qUAg@IUP`>R4xrI}#i?E>6lGyK5J=|HAL`;ka7AQlH=iS0)sB@d|r0G6+F{{R30 diff --git a/tools/sdk/esp32s2/lib/libconsole.a b/tools/sdk/esp32s2/lib/libconsole.a index e2934392c714d06d39dc890caa41a9bf54f6e21f..6a88419a98c0fbd6a66cd6b65fa85cc063846d1b 100644 GIT binary patch delta 94 zcmbRBTyfTO#R+mOhDHWv8S@&x`?NT>kYr*`ThUzo9E5@l}KfM5u2Qm_j!G14d;T9=l%X& z?z+|*RRmCkEK~%;{&q&=(T!own3;jUHz0qX{j{z*2JBNtB8M=ceJXd@md*m{YZ-_v z<`Q{?86%69gK1qBOj;nA%qI#km@Ird)n(yW5rkvKLfzhuCOr6U>hQknsw1BrIP&S8za6QQctk46j;3ope3cZ$Dt!o8wub1dUaWA;E Ps(QF$`|*k$xE%WdkVf2# delta 621 zcmYk&J1j#{7zgmEDy{eH*5mf7H>I>rTd$%wL}I~YXzw7gSd63=Duyp<1VLgDiwQB1 zNWL&g6N3;Di=^FzO**(1x`^*y&Fvk2$vOY;k(2WiPi6g(ZNcbbtnZ@Xk|_u8zHnP> zU6&ciEDL33INViYj~e62ongV4xr6)BfbPfamrZSy1AE9wa)=4-q1c?TvrQ3iy#m!CM6h%mKs)dHOX8ClDV8zpk%Im7|YZ! zFj=`HD|esreh!i&3M;81)uaZKBeh-Y>I_g1;ZeA?9k*xJz-!WmuSsENDU;#GT-|14 zdJO7706Pj$FG>H=%6mPoyf^Gk>n1uqji+zgy$Zg#Cen;wT#J2F%dOxHwvbkI2HQ@a zb-C=U34yB-sh*fKD8S^}f^_V^V{OMMZta^IM0t^okR!z391 delta 109 zcmbO=lYiDs{t0p{2FAvg8YRg|;gkXL|Gn0JGZ> An*aa+ diff --git a/tools/sdk/esp32s2/lib/libesp32s2.a b/tools/sdk/esp32s2/lib/libesp32s2.a index be82ba960ecbd97832a7253214bf6996d91cae35..05e6ad762a5e7050ebd046d3279f0bacdcf6556e 100644 GIT binary patch delta 316 zcmdn8z+=k-j|p-thDHWP8UAlK3W#1(J0&2G2NX54O@ z&EzVMP}M%CiD~Z3Pug N!TjxcMS{oX0swJ1anJw& delta 316 zcmdn8z+=k-j|p-t2FAt~8CuSgK*?#vEt7JM{Tx`2Q6x*sMFn>GH1`!7&sW&q0rvefD z_6vFJ+b`sCEJ{I$ZST3v!E_IazhWcjtqeF{ynU_|7Z7s;G0*n7QoMKBz;fH`6nUpC zLsF)Df_J;_3BI3`ki;CL`L{bp3kaToi-~Q|Q5HNT3FnJ%_p}vMGzIgw=M@Pan+pJ7 CadEZ) diff --git a/tools/sdk/esp32s2/lib/libesp_common.a b/tools/sdk/esp32s2/lib/libesp_common.a index 10f104933dc90da2d546f6d9b1e27e9f97979d14..52608c09aad416bcdc9e413c1631c33a2f4e2aaa 100644 GIT binary patch delta 172 zcmex#LHg4L=?QWyhDHWP8PF(*H8F3hMB;P(VRi}y^S1{Cve@W= Une9O1mQSc|>~)L4%G-e^Zx68J)Ord4 DUX3SO delta 123 zcmex$Oyk!vjR|rr2FAvg8ZVvDFA(vCx8F| diff --git a/tools/sdk/esp32s2/lib/libesp_event.a b/tools/sdk/esp32s2/lib/libesp_event.a index 75dcb16e7ebf7228ae3cba6b50b863e56569077d..0eeeceb28eb88f08540042b6b73dd2b556ac349e 100644 GIT binary patch delta 110 zcmaE|Rqn}Fxe0PChDHX)8<8=WEwF8aYe$kU%I1m7{+9t>V delta 110 zcmaE|Rqn}Fxe0PC2FAvg8LjxOlRsLEWf6ZEHGH(3fqC24RWm-z F1^|4w6`lY9 delta 62 zcmbPoo_)%B_6c$<2F9jF8y?>LDz@rjRT!YjPcv_~yND-u8ic+t*by HKFbCGe}fgc diff --git a/tools/sdk/esp32s2/lib/libesp_hid.a b/tools/sdk/esp32s2/lib/libesp_hid.a index 7f81638613b73380af403f6a2277bb4c86ff7713..bc33befb7054d5ef568abbed1918401265a1373a 100644 GIT binary patch delta 62 zcmex2LEzs6feCUfhDHWv8H=;wst=@#_fJ=OghiNBJFi=n6}rwVcrt~;u>wY Vb7gT^24+t7V-wpx=QWE$EC6py7f%2H diff --git a/tools/sdk/esp32s2/lib/libesp_http_server.a b/tools/sdk/esp32s2/lib/libesp_http_server.a index e9ef6841ea2a6b56a550a1cec737d88caf78adee..11563b90de479a01ace9954217e4e08879fe72c0 100644 GIT binary patch delta 117 zcmX>!L*~#7nF(?%hDHWP8UAi#w;fc6B2KC=49FK%*h%V1s2-AAer^fT?n(mk!_A2gsCurO{oR|soW%l delta 117 zcmX>!L*~#7nF(?%2F6Cl8yY*tS1lV_f3`=Cx1oX52o(n<-%xm^=9an^-&7 wH>T}e-5CMx_`=Fr&GNaeEUZW19>BnS2Q3 delta 31 lcmeC!!_u*bWr7@wfw8H{Mx_`=Aj8C!M2<-p> diff --git a/tools/sdk/esp32s2/lib/libesp_https_server.a b/tools/sdk/esp32s2/lib/libesp_https_server.a index 744897d167b5bf535bb405426f913a8dca7e259f..32dff762643b54f758792f32dc3e0face5158ec4 100644 GIT binary patch delta 28 hcmexxh~>i}mI-n!hDL^l6P31r>Bd`IZ!u0&005!33bgi}mI-n!2F9kw6P31r>Bd`IZ!u0&005#)3c&yX diff --git a/tools/sdk/esp32s2/lib/libesp_local_ctrl.a b/tools/sdk/esp32s2/lib/libesp_local_ctrl.a index bf6473ae7370c8d5f8b408f86acefc7ce792f17b..239335b68cf5f31ca0c7dea3f50ee682173e529e 100644 GIT binary patch delta 78 zcmdn6RCvQu;R$jqhDL@)8KAf delta 78 zcmdn6RCvQu;R$jq2F9i)8&|jXyXg+K*0S+J1Bzvmq-;nK@WzyTBY~AZ7t#Rv>2EE-;5(t_-B5-B5^QyP*(g n?K3bBXu$T3Ke+C4gLxBKxVKMa;fb_H7|!azvz^s}mstP+pcpir delta 166 zcmeBJVA`?3bb=glR>4ria;>|m_w(sC#bTa~rOl0AfXqU8Q+%9R$ zG%*q^wDAY0MElWcOxur6V>V<38en8Tecd!Bv37wu%s|Wn#H>Kfwq0NjyIdJaOFPiq q?S?{}wa>sjpaI)A{@}XH4dwxD*glbkC(;^WII9ECc2);oW&r?h)G}=V diff --git a/tools/sdk/esp32s2/lib/libesp_ringbuf.a b/tools/sdk/esp32s2/lib/libesp_ringbuf.a index 23d61128ff2b1bee6f501a6bc3311087d21cd576..e12c7b3a02115c46a216e53feae36fc6391018f9 100644 GIT binary patch delta 35 rcmaF0mFv}3t_gB1hDHX)8h26k delta 35 pcmaF0mFv}3t_gB12FAt~80j0jK4#KdS*E C-W06> delta 56 zcmZ3sonzT{jtO!s2FAt~8AtJa5MK zc{3PSvBOl0wu)QIGag!=UXr2j^ Y_;%ki#<{j&{&t{_H4P9ZP%6k90HHP>-v9sr delta 89 zcmezHpYy|i&IxiX2FAt~8Kf2E^>! zi#R!!T>&XK04W!5H@?RK#GKoW?{VcSAdG3>^^XgPxq+AmhubYryAjAN^D=yAlAbI=5Ghu(ZvD)*|oPmwyzRd1j5k{mT*qF< zmD506i}rWQOhC*G#4JF}y8WFp+m-b&m15iPTxMg7MsWY=v6mIWx$Qj**@2j2d(T47 fD6n(Pfp&|v9pKz{fQxN4LY+c3_jZMB9-npqgjqan delta 187 zcmaF!#Q4n<;|X#s2F9jF8C5nRV! z#+B1RT%-1P%1l7a48$xz%)0%ZGTW8)ASpwjF=E^ATxMg7MsWY=v6mIWx$Qj**@2j2 id(T47D3Eg?n%WLlOl#tCvPhDJt)8 delta 26 gcmdn;g>lOl#tCvP2F9jF8%x?#Jbh};_*9jgZ?Skc8kypX|?LeQ-Sc@d3_=|hu zNeCb8sI!N8R7;@ppg`fZ;QhK7!Uuao_73kvaQInF2dh8%fHyE4EWaJdXMs8j=zfXq zc8mBrT9Ax-sK&3k52BRsDgTX7h!ofqMr#4h42TramIHQ3Qk;(jGLs;DkOSI#T?DuH Ux(H<+KoS#V72Yn$D)RgT07n>|CIA2c delta 509 zcmezII{3%y;0bap2F9jF83Uh5;>~+Sx9=5YT+0F$+MXxH_~0f)HqVD! ze0$~>#5u)p9ShDp!+4Z+b!bj zXhAaSp&GyDK8RAjr~EfUAyQyd7_9{~GaynxTMpPENpU_B$V>w9ji!Sf(BA7JxV_g! SDDwc4m>{e0c0pE==N|z1ik#8_ diff --git a/tools/sdk/esp32s2/lib/libfreertos.a b/tools/sdk/esp32s2/lib/libfreertos.a index 978ac0e93fe0602cba74b3a077c16b28c77ad68e..1103590d5a37549864223f820249dd9837015a23 100644 GIT binary patch delta 279 zcmbO>M|;{F?Fn)$hDHWP8ff>^UyqUx{-xBIt3E~<;xOID8sUUHi9zGIAQe5{n z$rZuf{>zH-nJ};tTCy7PCX*JAGr;iv;nF!A7-r`Lk^A@@IYZ6iKYll&!tblpTmUw)dHG T+BJjqw_n)7x&6WpE;msCAURaP delta 279 zcmbO>M|;{F?Fn)$2FAt~8ff#1f1-zNWHs2EJT8YH1+w)2ViQDw>kuVas?rV}O zg1h~f72`Ki5Z@eZ)^@Hy#(6PF@`u(ke)2)$pZmr5iyw*qh>JH9g@7$H)g#^1i!t@pJjWOKkKWfNMe1aZ0&uf>_E)1z0Z`>t{E)X Oeqjga_6s|>+(ZFanpFS* diff --git a/tools/sdk/esp32s2/lib/libheap.a b/tools/sdk/esp32s2/lib/libheap.a index 661498fd217ff9dc4ed946ecd86b47029a74d96b..791f0d846401c3bd747aba2cd63f8006294da7db 100644 GIT binary patch delta 72 zcmZ40B(kbWWP%)vp^<^{MkO&07DGb|i)I^+?KT{YI&om$_M9}v6RW_?b_+o!AZFff QA;@B(43RA{VcB*D0KozibN~PV delta 72 zcmZ40B(kbWWP%)vfw8g0MkO&05W}R|hGV-82cu3Ln72JAjq$`P5Yx2XLXZiFnYUXA PvREiXWJ^p~ww(b0za|r1 diff --git a/tools/sdk/esp32s2/lib/libjsmn.a b/tools/sdk/esp32s2/lib/libjsmn.a index a0ae07ace24de7117955ed9e4f98c096e742c670..d1e563a3c1b671d3eeac66074abed41f035a7d3f 100644 GIT binary patch delta 25 dcmdmViE+~<#tCvPhDHV!6P2RC^u~rw831*92(JJD delta 25 fcmdmViE+~<#tCvP2F9jF6P2QXw29%yhD{j&b!7;v diff --git a/tools/sdk/esp32s2/lib/libjson.a b/tools/sdk/esp32s2/lib/libjson.a index 5fbfc469d9e2687f645272430353f7ef5eec0307..b57b01602ee4d7e61b488b088abc74dab051df07 100644 GIT binary patch delta 54 zcmZ4VUTo2Ou?cc4hDHXK8INNVh($ delta 54 zcmZ4VUTo2Ou?cc42F9jF8Xmt@4cTl75C64Oe&#NsF*W1I+KJ_n@?EKa9@l%i@u2wTsA0NFGZ1umI1|bMHD%3 z%qp_l;@F$4OijQKI+gv+Q7;dB0!n*r6ghY+tn6=zA`dAClA4~vwGB5m488iCtlygW8&1!Y{-%0}2kjTFppP0$ZJ$QzG%VAE$SL)u&My*`d;n z1)QgTL4)=%)Guh?46`u6ux?|*ipfjq3Ypza77k{wr{7*8KPz+YY{uGQV*hD74`khgPP}glIbz^O4EsrlA!a4?ea2bk5;pGS z^YC>KKa(r_rO6Gx&xbo112(zjCVl!>4XZ!kry%&G!aZJp7TTj|+2HjXdtRroh|1I< z_lwD5&}@2pfVq5{fRg_tW6Ja-A#+=QH@zpThVe@4?!k8{Q}eambx%+zoBijeoYiq+ z)`sa%b3#?btgOkuavu1Jaflq8AIV*dPm+Vv=Wvm&1zs(?qn%+T?R?C>gtsnqnbGx{jEf>FeP0!u}CrCXzFM z2#W0ZX2C7N6Wl6AD?=-X;8w+je)(+D)tGcuJ~$Lx-UZv2Dx=ekT(4vg2UV!|3`Hto zDDt>Fjlw1ILsqJIv4)s+AzUwRO3zbF40Xezq&8&du=tg{6t7el9GeigNvGhR71*QP+Qf&gd|8!+i^`0356>269@eKZ~Z03a8eNb`sh1I7|C{}G%T-`IWm4eQJxIw>+G?)`L zYi+1lwnXsPWl+4~lm=-JQan-u(q1Gj(mpVpO7xwRLn*izuNxE;tPSbjNLFxTLU%Z* zU}eQ41wUcL?FN(deRT>tz4~D;>MT^=FdPM^pjTP(Z{fpnG+#ZfM|u>hr<1zE|8vc} zY>-^VK?4duMj|m@-7sv<%Mmn8ew4g&5+kl;OlK_0m8}$Pl^7S(#d#D89belieznO6 zt4%2?GEgy}fLxx2lF5{Q$7~(Bnt#X*7jG4TSQ}Pw&J5O7_Xzi$JpNNCaj-O(;p{~*eYYp&fB(k z{V}}Mu;2F%W~jfr|Iky!^mj!D4WHW5mInw|bgL*B{UmL*lrV1U>~CogLWIA%WT4_EIg0 zTHnkL*dI adlK>1vjW;L8g8$6ZXF?Z%!{^irusj!AyY8` diff --git a/tools/sdk/esp32s2/lib/liblog.a b/tools/sdk/esp32s2/lib/liblog.a index a543f4c1e4ff3b7e6b2300290d4cd841599be3b4..95e87e6cfa689afe4f0e6cb407c57cfa95145f44 100644 GIT binary patch delta 47 vcmex!jrGqp)(LVfhDHX)8(V3aTM2t#3i40GziFr~m)} diff --git a/tools/sdk/esp32s2/lib/liblwip.a b/tools/sdk/esp32s2/lib/liblwip.a index 72a331b8f79a414502b577412cd23a331d158195..9caf0e1569fdc6264af3a091406eaf25ddf76a9b 100644 GIT binary patch delta 1509 zcmYjRZERCz6wcNt%z{L93e^&~1S1BiTZX(>SCE%A6<@ zf^Q(m%5Yw_1sfWi!XO<44_ckIO5BeH`7t%2WY+n^kYdsw7)?f|?>(nk_TwbydCv2m z_q^wvdvAUEAoUhEPl495##}XCbk(Z0Smd>e-&7zTO;}mNngR)H>Vubwc3%<%_|KpE z&f!JaD{0OiAsjST2&^rjfwq7)#kfebcT&6JC}QSmdIUU8X^CkSRx2C|%qu<0Z3%d# zrTe}@8R()*@4L|bqI{XF9X&<&M!5)m$Cky0N#qjKmwZd1@VGq}UjH?{qfW)uidrg* zXJ>HBUmfEdO~%pndHm? z$(j4_&j=L`MP|**18ZLX-C5$Wxn=YDP&U6}-)iK5&&i#9Fn4pIqPL(miTP!`)(ZvP zR&tZTccIW>pj6oOxlkdS3l+g!sQA62MSNhUm<47^ATVQmt7L&UK#gYAogWsk$jpc?l#2DnA>g)7ac=Mdp!K!YIA+nmH*|F#g*$ z^EbOO4t|4W`VvXicEC`?vc;id8{>6CEUoG;ZoLioL{FZ@2)J}s&qH(-zB~fVWvm_l zhYkg`)hwvBK~O6<;A+@tee^%dmygg9e1EiY9Yh;zQhF(4ELbyjk=$TsZNuNB!~yAB z)`Pxf!|9KS!^H~6H~7yjXbdoLqVDbA3A+Yc1g7uX2>L$z=T78+H=!Tr!RxB1kDH)0 zr~X(r#W+E`lPt7$PyM|SO2rEmnO(C9?3&Hu9^%wr0z2T|%*_D@+|CT_vrWNAc_U8n zMxMUeqiSV^_d;Zcil5=u0Edbjn{jV!3Vthp{Ml%{K{0k`XXF#tiI|FI#x>v?Y|Y0qWage|1@}bTSTm|erS$D5QHMLgYL)F!tLzv_ zCk{W;`1u_WKfm+1OdR%TD7q7dqR)-LKpgI4=cZlXwIK%SgIym6D8w%iVR~JA>^Nb* rsv_L}zI_@OMONElfQeT+W`CkMPCiuE38A{Kd-cTOuQEK?b!zy3RqzkY delta 1509 zcmYjRZETZO6wcNz4AMdHpw(Hc#Qj*1A5#-bW}QC_DJK1a(PU(L-g7G1kCWWzInTNG z+;h&oH$J(Sd;`s$r?ptERpSMh6?L)7<1^<;hvJHeD@hPnlJC8&(iI-p1)~xE^(DV^ zU;!SHHKz}9Sin?f6s>*@wEDG4rUjZ^liFp6NF&^h4}rTeB|gm|2#sPyei&^LjL3_3 ze@Q&(B8%@jY595S5@#EWb#IhP(0h1EbcjVxDRt2|>sbn3Pv*5S zbC`n>cC{P6xXd{8s#OAey3u@wFksF4-eecv$q1TasjZ7$-S0|YP0&)vjx3NJ+5h~+ zN`#V7a&kb)$-O2Sg zZ#Sr6Ru2_@E|@Rof(0-aEPStE0q>tF6#kha@XwguD&nJ2Z-8peid)}5&`H8FxdJSc z#jZ=N!3OMrlznCcpD*OAX0*pazPhrqgTtaJtBhigt_1ezN9c+@&58pM>(2`d!@iK+`^comtM0Zq#pABdd2ef z4)TM~P%(XhrD{1~FkG?GPFP@`5KXb(rm43AcJ$b34sz-g_k9k+;W5Ho+LPmdt5^{M z?New^LqJKr?FCOF&x__jh3L*{FNj?9D$_Y*oLVEXX+C*h4uhJf|n8 z8sX$r(?u`G&@8sUwDJ5c##9#BzNwGOqIjt9^Rt_{?+M(WzxjWRWs<~L*Jc>&a^7FN zV9)T!&ZAMn0yW?qXvyU?glnP&TobKhP2?SwQ@0%BICTa@jb{tgc(x9wGDpuec6KYo z&TczW$s9F)FtQB>BhQV$z#PqE$GYv`wh{*UgYBpM?7{;in67Gz9$}25D#6X~+NNnx is4NDUc%^;zNA^?agS8zHtnIv0#~gi?p@GihL;nHm{tYq! diff --git a/tools/sdk/esp32s2/lib/libmbedcrypto.a b/tools/sdk/esp32s2/lib/libmbedcrypto.a index 483cc037c9f6c855a4f61477e5a12b621481f1e8..ba804fca8e6b0b7c2bd2ebdf057a333010069ef6 100644 GIT binary patch delta 1161 zcmYjRT}TvB6lPs>UA1l0+MU(i@n>D#AJf@f!EHfN-+ZtY(m=s}K-MrzkRVJeG#Q9M zLvqoCFsNinToF9UTG|hlK9~gsi)dETLy3XtOD}cqy)!Wn2j-je-E+S0oIA5I@=CLT zF(|})j)~ss+}@ISkH;s5Hdm~snT3+l2*NU7Xt62DJd?Vmwf=|api85fwW#p0z_3q* zfM2tEmlX;)c@y|QXeQsu*sn1{+-ThHMS?vcq#7lIUW*ZraR3bZgyl`f?Wi;aq55aS z9BJbdXLY)4A^_#Fs(HHhB^5J$M<+93H7U^{Q#;mOCMn&K2v+K~S1TZ#eg z@k(W)Z}&=4!ycnzDhM;}$OT$QqaO`knzg(7#G3)e^vu_wigF*OZH@;x9 zq)3$!B2^~dDbxKLRMlp3_E8MnZ<8`QYUo}HFB<|JCBLC+(x)@Ge`1(Yo7T+=mHT5> z#zbvbn=-l+_2kdy`sjAskNm&2FFcs4o%<7p?;bbm*pWrfY=#19QOP0B8u*~J$e8S%0 z86M_aasyFC%g~ZWp@uj?0*+ z8V$P3Ppa^4)cu)!B#NqU1%)45WlU7RA1u7{TEaIVEQ3T!f#jSNJ-rq;X{VNQk XIx~!47TM3k8=~$G4T*|7#0Kj>Hm!C< delta 1162 zcmYjRTSydP6lT<1S8W~L+L_heNnI~{G2M$k*n*P2`Cu!gfr4E?)-XemAWSPX8Hhkb za?yk^sANf85j@FS+J#CV%z}bNG%M+$#6a|=m-_$z{44u#U_Q<_=X~EeXJ%vMwXi{A zP)TrlJmu55y&m%5_5?Op%+kz)r!0hUu_@U&lfD&iK7bdXOAuyFF?d*sV(@u|)q9xo z*<=a4ABD;H9D4-=#Er)7UZ%J-K&S>)r;R6(K;jVSw28}`$n7|(^F#Ho#5rs;tI=e0 z0a!Ip)4mkL)bD6G6IPRxteo1hZkJTOH3{@q?PMDlK}D?%X}`T=7>GSNTAAwGy_(#x zhg6dC!%Tb1G`C9i!u8uJHT#&SgMuG7Qgaq~Y3fI*JPb;ut~L(K6CWs?+YL7B)L?TO z2@!(L=|8(DEt-p@tHDSH2|WZOM;iNiS*rNh*`w#*A|?j?@H^k|lF2GnLsbR{RY|gq z)4c*w)h5~c7zXi=6dfHibU#%_LoOhrls72L6<|~C(-_-7BWBd5bz_t&{x#y5TQ6B7@I0ZX& zW|%L|vpkSN-+UI+?3${qe?`o8(CI(cGeNN%UriCS_c=Zn?~ql~TsD~Ia&A36;K(rF zlIshz8X)Faw#u*^xfmJ5GnR>bj_Da%dMsQSY>rs+*tNLvdKIv!3gnT<2L%dhGgt@c zSSnb2$Q~IDYAzKP?{G}FIn-!1vq57SST3<;ZexCR%ISwwCi`=?T{np3_A%@Tp$7Yy zgR!3YdhHd+XNw9i+Hp~CAP%;fcsCI5B0CDwrI+}+Q{>n?!Bx;x9`!paPRHQgu;UB+ zO1P@;g+-rQd7i5NFj#c=4acOO+FgH~L@{*Nm$cT!@cun6>0d!i)EQy?iWC1H?f`R_ MHsp-DBUoqt54@dq0RR91 diff --git a/tools/sdk/esp32s2/lib/libmbedtls.a b/tools/sdk/esp32s2/lib/libmbedtls.a index b8dae2968a23e11c871128301af3a196ad6f70e0..3e77a60ddec5c7dc3ac0dbfce0b8e6d7392f3231 100644 GIT binary patch delta 212 zcmezH!}G%r&k1rYhDHX)8x?`K!K}%BqGFo`mZZ%9@k}SL zGZJr~Xu}A^OhC-MeWDGEts+F>IwOhguVPtFv@Faj|X5HoL|Xv1Qw2vNAsNMie|Se6sH2$g3~v$UT*%?iY9+s~e6cWs0lxn0MX zBj^H5a0S;@e}Q1%(t5 K+>RQ-7ykk4ctB(6 zjN5l^W4c=e7Mh;7i(P#CMonhRNf6cVb~A7J2x6K7Rg1OnS<3>%tU%1Rea~9F0ubauJAPZ(rz9%EzzH=Mn z_MO|9?iPWCrswTq7vH{7li6|-MD@Gf%v(N!n8rZWV(oj@vH&qF5VLLHvzC1w4@4DE em&;6u0YDAn?Pr5Iwx12=_Vb-qlh6{+fftY8z${XH<5QuPx1K;)z2mV*L0Ly?P1poj5 delta 105 zcmeyg&EeBFhY4~l2F9i)8Q9-h>c{aEAlm_6`UBSGNGpZz2@{ diff --git a/tools/sdk/esp32s2/lib/libmqtt.a b/tools/sdk/esp32s2/lib/libmqtt.a index 4cff69f2cbdd0bfdaf50d3fe26ceeb0667c1a1aa..0d1158a7551e4b22699228d55cf236bf57235a44 100644 GIT binary patch delta 93 zcmdmSMRvy(*$HyYhDL@P6%AQgfV9zcKS>s`<{Z}c99BjkW&&d7?K!M0_k_XH?LcWD cX5H>5$tJ@N7TTVtz$S4Wp?Uj)?`$)Q0K+92y8r+H delta 93 zcmdmSMRvy(*$HyY2F9iv6%AQg42(@or~65=h&AW1w&$=i0x=U1GjGpfWw|E|k~V1v hN&_+Lc0Wlr8FsMH_B;hPiR)k{So8J;-`Qpq0RYFV8Pos( diff --git a/tools/sdk/esp32s2/lib/libnewlib.a b/tools/sdk/esp32s2/lib/libnewlib.a index 98a5b542defb43da1a696e5232c4f310891b7136..2d53c976ad4edabf1a793ab0b85f9b95d0b5a5d2 100644 GIT binary patch delta 164 zcmZ2;o`21G{t0p{hDHWP8;g73 delta 164 zcmZ2;o`21G{t0p{2FAt~8Ivb_6K4|N{MVm10?ggaw?beV zLfv*tJH~~!VE%TXzCXrL=6XgIEhJU4w-{@os({A5NPtLzOy0h*g6U=eL|5HOCIeG2 Qb28rwvF#`RF+F(!0Pz|&I{*Lx diff --git a/tools/sdk/esp32s2/lib/libnghttp.a b/tools/sdk/esp32s2/lib/libnghttp.a index cbae7bae71c9ee9782c353855accdd17456360a2..ae0c81956cbd1ae07241221075cfd898a00f6fa7 100644 GIT binary patch delta 421 zcmcb0y!6)b(g|`bhDHWP8d)j9`;MhLv0q3GPh%C@4G35{@(ApVpVCHm?3$_RUE|X>s6=3_E(*fZO9JkW|Rt42PrXa2Ra0ZrGZ#x`vVQxUseDeYLo*2 delta 421 zcmcb0y!6)b(g|`b2FAt~8pOg0Ss+))W&?zVpJ0tgG_6N&9T@44?l%z$WYPUm4Yf*ABbLrP-%l9@a$K|sEd zIoNH^Z+K$;KwL|pgT&i+Tk!%h9}x2cu>cSY05v<;#;%>9RkGCKrFNUfrjiaD*zT< BlkNZj diff --git a/tools/sdk/esp32s2/lib/libnvs_flash.a b/tools/sdk/esp32s2/lib/libnvs_flash.a index 77b8d7a23b0f89c2ffb3a86bb0fdce79c21c9dac..1da386dbd91a99d056149690343afa22dfedf8ed 100644 GIT binary patch delta 245 zcmaE~A?(qHunBT3hDHX)8VkRJF-abi|Wt%ZGP+;S!xKW zcQd%Qznj5b^$cNsds96R5c2{t-}a_@{$tY-%9F$ewkL@T-r5KfY6m)JyZuR_QadEg a=h%hY&#{YaKgTXQiya}py@_A+K?eYe!czwT delta 243 zcmaE~A?(qHunBT32FAvg8VkRJF-abi|Wt%Zvwmm73 zWqVQ}>%6ZZod(k#P6~=`mvUzldkf?nSwi?;ChXU25n8N@*xRj&IDnXQyHyd_EH#AG zyBS>D-_78zdWH~cs^@8Ms^{u1wkL@T-r5KfY6m)YyZuR_Qag}K djKDUxpJNvWVv+6V*hOct!!>Si;un3;0RR@7Qqcea diff --git a/tools/sdk/esp32s2/lib/libopenssl.a b/tools/sdk/esp32s2/lib/libopenssl.a index 0513d06e7ec71288862c9751a84360a4b2ac8542..ff497ae24f44a2eee4aeca0d89d8f25f738b58f5 100644 GIT binary patch delta 142 zcmeyeK>W)B@dW)B@dCaWd{cf$jwYZWlA`1Xa7%u|hET(Ru|J JtYm$m1^@^mGMoSa diff --git a/tools/sdk/esp32s2/lib/libperfmon.a b/tools/sdk/esp32s2/lib/libperfmon.a index f43c1225c3b5a68e4a89c7ac41195f69097ba4a0..c9f289f9b06cb188400b137f5428fed6a04cee48 100644 GIT binary patch delta 54 wcmbPmiDd#1$uS!m8E#Y*WMTo*Mw8#&7u)Q^q?U`|_2kDDfO(tW-Bl6H)*G diff --git a/tools/sdk/esp32s2/lib/libprotobuf-c.a b/tools/sdk/esp32s2/lib/libprotobuf-c.a index 5b88c6aa4f387683f371e1979d5205b1d493a196..65f5b232932b7e5a2de31b3fad6cc819c4f68c83 100644 GIT binary patch delta 51 wcmX@pFMXz8dV(B_p^>4{MkNPkFrzt*xjl`U5r~<97{q1)V%F_x%xq~#0ECbZKmY&$ delta 51 wcmX@pFMXz8dV(B_fw8H{MkNPkFrzt*xjl`U5r~<97{q1)V%F_x%xq~#0ERRUOaK4? diff --git a/tools/sdk/esp32s2/lib/libprotocomm.a b/tools/sdk/esp32s2/lib/libprotocomm.a index c49e7d7f2d31104a3184c3f3242fe3425eae86d9..f48ea1f95a71d72f1e967de494d33fb8f2b6e622 100644 GIT binary patch delta 155 zcmca}N9xWUsR?o{hDL@)8j_j^J+h&||e*&unO9Fx^m(Rebw` JyR3UI008J>F!KNa delta 156 zcmca}N9xWUsR?o{2F9i)8j_4&s`Ct=jIP$7;78iND}3>z)e$ DEB7&$ diff --git a/tools/sdk/esp32s2/lib/libpthread.a b/tools/sdk/esp32s2/lib/libpthread.a index a4de95dc14f725b4489c2de8d161385fc2744436..e45a57d80dcad7c2d2aa5a26561b96054b20132c 100644 GIT binary patch delta 63 zcmZpf$K5iIdx9K`p^<^nMkNzg7DGb|%jtG&7{!_kShp9jGM-un7TOLJy3qrd72j@X I$#i)t09%g}x&QzG delta 63 zcmZpf$K5iIdx9K`fw8g0MkNzg5W{S`-5N%*<^tC31+0vxmVty!w*!T4^njTlS@G?L JmQ0tY0svbQ6RZFL diff --git a/tools/sdk/esp32s2/lib/libsdmmc.a b/tools/sdk/esp32s2/lib/libsdmmc.a index 466116ed7729d35b53af5d27ab1d28df8637ee1a..a54e6785aa40241291be9a992268efed708225de 100644 GIT binary patch delta 118 zcmZ2?SaRKA$q8~ShDHWv82d7 p+viPT+CFaz^Qjz|kVJb6Bg^&{M%E4TFd?yaKSkEo?T1vnTR6u`X60vux7S7|V6JwtHc@i9$n rg>&2IO<~$TZwm9N9GH+qdkZ7W_7+Cg4e~G{v35U2*6n_ZYzYnk^#UOm diff --git a/tools/sdk/esp32s2/lib/libsoc.a b/tools/sdk/esp32s2/lib/libsoc.a index 79a676aeb0a14f3180ca9e996a505126490173b9..60099901a4f644a86b04948c0c0c39f71e0483db 100644 GIT binary patch delta 726 zcmYLFO=uHA7-ielHcdCXNwb;RtedQBJxG;oY{iO7(5j%R2wIF#!M0lb12=eSQ6xwX z1A<^^Bp{0DB_dMVQuthr5XD11NaMX=kAj7!px~hgXJ?Z1Fo*ZP_r7`GnXvf8L5%VlsJXprjN6I6q>+h$T!L?UaJ$lrTBYho;?);M^Qz(4q`uS!^`&-WV~BIvw1mO_<1dOW zjNs=#|IvdC6S@aXTN>6G1S+rfab^8>1jFSiY3+D30EVj{B;RO5sRo|k=R0V3pcLd< zoEzz_7&hnR_xHAp%YDk(3|E_Z1eML1BZr33`O{~C`cS{Os|QtZtb+m&)-kaFX`erBeTG`O}FKeCrYZ}mrP&QCL~ TQ!v3P?EFSrn`m>IHG1nmP(k6a delta 736 zcmZ42-o>~Mh$qOg7#JH{Zd4LeVm2@~n$ACwPqH~gX?utgV}&e8Wczu0#?(ZxoV)># z#CHFMj0dHGdW=k`U$AGC+^)NqQ92RM7u%jB$5gZm!hfJ3D$)Mo1k?5pCzuU9Az}rh zeB#@!g;*|50rT4hma}XZSkAg855hel%C`N0D0_w@L^V)WyxlpReYqu-D!T3T=NcD1253qUC^!@b&{LB0iAt+b*zE#6%yW8t7v2?eQ-}YAqltfx*B1 zfr1#1H<-H}=nED%h)Qs<@^2E`&c8`KGaaG3eX^tk5KC^KEGab?VhSjd#kP9|NrlY^ zrvZIw8OioNAEmbM`6ykW2@+}t3T@YymQ~e+8U*r0zKiVCdZ=YPMI^Q>9Fg5%2;qZ6 z@AX&N-Xu6*V*8W`xfKau)9iQ3ZMWYk&uI)b4HRoBZ{%%spnQ<&yCoDhR)AIKPgK~R SKT+{yJKQW_07@!FX8`~NJmTO0 diff --git a/tools/sdk/esp32s2/lib/libsoc_esp32s2.a b/tools/sdk/esp32s2/lib/libsoc_esp32s2.a index f3e1ad5166a224b31c16d7566b07a2ea105a8e4c..241902758bce8e131de0e4b97c4fab8d2b53ac90 100644 GIT binary patch delta 190 zcmZ3tQg+=+*$HwihDHX)8v>LvBE+^gvGP7~0RV;yVBr7& delta 274 zcmaDh#q`+}(+P4c2FAvg8eZu#hX_PZeK0Pc$60+wBQz#*!C`Y#xN6v zlI_2P87u!H$@c{^dHEpmKh0%YWdr7K2kOu8M@Y3RX)$kC(qg%$f)Lv-QR+vF%N)yiZ&JcE@17 diff --git a/tools/sdk/esp32s2/lib/libspiffs.a b/tools/sdk/esp32s2/lib/libspiffs.a index 5a9df34b9a327111d09c4e88be3907282e3fcef0..9dd46aad453ffd160472821974ca5a9d5f063564 100644 GIT binary patch delta 145 zcmeBsrq}mOZ-N|)p^>5SMx`!JFr#?`XZr?D#_bz8ndXRrM2xlvC@_^w0y8IX;1t__ zZxfT-GO$_@x7{w1dAnUCOH(6UX#1^OEMdQ3T=91AtE@oGw%z+Gdv60wSgie1Che8G9Lf{ delta 145 zcmeBsrq}mOZ-N|)fw8I4Mx`!JAj8D8c>`zr22RH98#tNfh=E162PiO=Oae0}Z{QT$ zes2?#+cG$}-7b=OyImwpQzKkx`>k6nVZUHp@pkX4tU%1R-TNwgZv#l!3}jCGr%(|2T delta 87 zcmZ2IjM diff --git a/tools/sdk/esp32s2/lib/libtcpip_adapter.a b/tools/sdk/esp32s2/lib/libtcpip_adapter.a index af4cc6c3c1633eeda70f10c1edfb533b23681f5e..5f0efec460ab74886522f571e736078695bf4247 100644 GIT binary patch delta 34 qcmdmUi+j&4?g?@%hDHX)86!Xk=hCQE3{O-ngg73e4E-W9`%l0KiEKzW@LL delta 35 kcmeC{WbW%^o*>6!U~FVOQE3{O-ngg73e4E-W9`%l0Km`+$N&HU diff --git a/tools/sdk/esp32s2/lib/libunity.a b/tools/sdk/esp32s2/lib/libunity.a index a56cdfece45f4e2929a15e5a87459fea000a095e..754482403f092e5ae5467f76d0df637cc10b86ee 100644 GIT binary patch delta 57 zcmaDfh40Z6z6o+HhDL_Q8!Hnh<*7g)u#_cJrOlP9OBHK+8nGR$_m_N=iW$gt3 D`>ql^ delta 57 zcmaDfh40Z6z6o+H2F9jF8feaJV<`mZU6jsLVDXdIqqQN5DO%j<7WJ8!g&M;-| F1pxhT5>5aB diff --git a/tools/sdk/esp32s2/lib/libvfs.a b/tools/sdk/esp32s2/lib/libvfs.a index ebca5dd26b99821d03bc4bdcede42f96f6719c64..c6a971f4115190ee2628a2492d97cab8e71678e4 100644 GIT binary patch delta 73 zcmZ4YP-5Lfi3xHnhDHX)8n$AV$FGM?RjjBK+Lo~kBxbr9$2a!C2n<&0yYUyS{)*Fl##Baz^p(E7=(n s=Y#p%f&2@rKuklR7P0mpflS+f1TtTG43Rx&$|4{Lm)-uujb+Md0M^hY6#xJL diff --git a/tools/sdk/esp32s2/lib/libwifi_provisioning.a b/tools/sdk/esp32s2/lib/libwifi_provisioning.a index bbb6de9af3a07ebedf592654a6a9fcc8e162c352..40a137499f387b57c668664e0b96711b0f252888 100644 GIT binary patch delta 181 zcmaFRVEv%MdV(B_p^>5SMx_#AFk@;RquAyR!l&MVd98JfTkDu6oP$fXYn*2SVrC#_ z0bh7g() i#=U(`7>`yeOh~-_;clMo4|nr=c7lbr>$&n7RRaJc$37(h delta 181 zcmaFRVEv%MdV(B_fw8ISMx_#AAj8CTY8|84<_*H9-hg?nb&OlzyT*C8b#R^H?H?bpZU6X)owplin0UKn9>;dcJkH382t#`Qb8heX&-E<~ lAv7n9d;6R)9<5ZEka+vU-8|bL?&kIE1Pg7~bLBIt1^_qPK3xC+ diff --git a/tools/sdk/esp32s2/lib/libwpa_supplicant.a b/tools/sdk/esp32s2/lib/libwpa_supplicant.a index 173fdb1a809e6f53ef5ae3d9d475d8c742dd7189..0aa35c6f6ca7c831b4eaea5ace7754edfa031a61 100644 GIT binary patch delta 1623 zcmYjRdrX^E6c3M8Ht32<`My%2KzVlz7;Lo4EQ8TmmGLMA##`mvWXugkV-yXT5--tV ziybr$%x2IzbeeP^tOb^7x9*r+>Xu;ZX&U|FWwZdbFw7R(PIf?&bCb-sKfN?>z+TVbwm zTkjURgme@N%sH?P5sU~yC=uHcDnuyaLBvB?(8I4?-7H976Luwwa(Ws%)B>!!!ai&J zpIg)#7!6VPn}|b$Mg8x_vP1p*Np3AxhM#(q3$P;r*53(VJbFK03AY!?+j*RlzX&G^ z1f^Z3(0*EIGLfTR-YD>UA(XOH&yc1RlQZQsMjAnDuE<(*HPD(Hp*c))=eda9i(KBJ z7QtMuz4w7knR!VI=A}n^rerlwc4suwFOyV%{v8=#=X0dlqUNc49%tx^S}CNQ6OvT} zIX^~y%6wa_*Xo9;X*pPg@!xb^bk^CPvuRlxcu^aDqJpBS(bbotn~qQe9-2%0bac7K;^I03Od}pxTx&{07Cb(8&Y{ zolJawCs8^F_gW%zuO)$dE%}q}T-9+}(12Z;QctI6^t9Zq6JgSlGSo>jdI+q4ECu?< z4A)-wrE0V6fHq5NK@X*&-ezv5&L5x%hR+AQy0oB1pJ2g}#ugmuu;9q}Zl27Z+$F8Z z#-&{_E@e)BOE$p6I9owaf(FE@Sr%e9Vh~02;;OR(he<=r)p$#DhY8I=2S;2lK%sM-$i@? delta 1614 zcmYjRdrVtZ7!Qn9Ht32O!$s%s}o$r?3{qalg?|b~t`5yO- z{XMi{4B?Is(;JO>qe+L_Ht3Cp&s}XxdbAjJczxP!g3~nwuAz|BF7ETV+Ej2|6MDIX z2bh@K5sKJ=2m`lcWA`n}8&KA&VC!Dlke{MF?lyrfS{^`z!=h!=LiKu-z~%=w!TiAH z{*By}hlv7n4Q)n5AR-ZR#1@1C5rudV@ep3<;n%MOFO=L6eL0to@-}xX1z2@Qf7Th` zR;3!oBb9@B#G%=${BQlUTlvRv(ONE#Ir*lTfE5X__D;;wq5JttjJ@nWezaJS+xhX( zbxLRz^}Hypg0LTiD9(*0UNz*%RhdRk&D4aB0u}2hP(w#Stoi`v8^Lupw*Lafi&wW) zYwmu)JQHPR#c`MN|=AoWz+L z{+Z|HE6M6vE@C@k2f_sP%-mlqiALNsL&VKI`FkXYqfmkI$YXIo2NhK8u=R07K4K>v zwmuR0ixlcfu_WFgN)x}nYDsOSOxjw7qkt(KyFlS6e9J*mI1@FTzg9TcKsOLqcR0Q1 zqhpf0`QxJUM$t`6I2p40i?@**4E!&L!QS1!{Y%t~^AXr-XEB_1T6bk|n~7c?wtCJA ztLOH7*g-bDOANcHeG)EeOJc2L0#sgRc&5QiCC~m@Qo{cigW2mo8!Le2%2Sz_B)9Xm zr&oRz-84;4(=*^{DqW$s!Ytlnc%~GFXZF6Rqd2NxCo5w*Svlxr6-%Y0MqScXRrDXB zC@N_7tBR|4gGunEuhO4R6h>}U>WkipIk}lHyb65b_VdvqZI81< zdtCL%b_(X}&+={6kZ-H;jZ?&!vi783s_%kqU&Yttpodg5u@5v8b*WKgqW0Cz)G<6#Wt^EaVvpyxGLXqz&S!q_jsWkiOoC{IDFtT gdUwtVfH|AqDtJRh#kX5qF#5W})NEf=%V_ct0EHkZ&j0`b delta 119 zcmcb%m-E_Q&IxiX2F9jF8i_@%