From 06957d9895d8095d3bca2679368fe4148e32f5b5 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Wed, 2 Jul 2025 08:21:36 -0500 Subject: [PATCH] wip --- esphome/analyze_memory.py | 129 ++++++++++++++++++++++++++++++++------ 1 file changed, 111 insertions(+), 18 deletions(-) diff --git a/esphome/analyze_memory.py b/esphome/analyze_memory.py index 45d73ae920..bd51664271 100644 --- a/esphome/analyze_memory.py +++ b/esphome/analyze_memory.py @@ -26,8 +26,21 @@ SYMBOL_PATTERNS = { "prvTimerTask", "prvAddNewTaskToReadyList", "pxReadyTasksLists", + "prvAddCurrentTaskToDelayedList", + "xEventGroupWaitBits", + "xRingbufferSendFromISR", + "prvSendItemDoneNoSplit", + "prvReceiveGeneric", + "prvSendAcquireGeneric", + "prvCopyItemAllowSplit", + "xEventGroup", + "xRingbuffer", + "prvSend", + "prvReceive", + "prvCopy", + "xPort", ], - "xtensa": ["xt_", "_xt_"], + "xtensa": ["xt_", "_xt_", "xPortEnterCriticalTimeout"], "heap": ["heap_", "multi_heap"], "spi_flash": ["spi_flash"], "rtc": ["rtc_"], @@ -43,8 +56,21 @@ SYMBOL_PATTERNS = { "icmp_input", "socket_ipv6", "ip_napt", + "socket_ipv4_multicast", + "socket_ipv6_multicast", + "netconn_", + "recv_raw", + "accept_function", + "netconn_recv_data", + "netconn_accept", + "netconn_write_vectors_partly", + "netconn_drain", + "raw_connect", + "raw_bind", + "icmp_send_response", + "sockets", ], - "ipv6_stack": ["nd6_", "ip6_", "mld6_"], + "ipv6_stack": ["nd6_", "ip6_", "mld6_", "icmp6_", "icmp6_input"], "wifi_stack": [ "ieee80211", "hostap", @@ -66,6 +92,14 @@ SYMBOL_PATTERNS = { "sm_WPA", "eapol_", "owe_", + "wifiLowLevelInit", + "s_do_mapping", + "gScanStruct", + "ppSearchTxframe", + "ppMapWaitTxq", + "ppFillAMPDUBar", + "ppCheckTxConnTrafficIdle", + "ppCalTkipMic", ], "bluetooth": ["bt_", "ble_", "l2c_", "gatt_", "gap_", "hci_", "BT_init"], "wifi_bt_coex": ["coex"], @@ -80,6 +114,10 @@ SYMBOL_PATTERNS = { "dragonfly_", "gcm_mult", "__multiply", + "quorem", + "__mdiff", + "__lshift", + "__mprec_tens", ], "hw_crypto": ["esp_aes", "esp_sha", "esp_rsa", "esp_bignum", "esp_mpi"], "libc": [ @@ -95,10 +133,26 @@ SYMBOL_PATTERNS = { "_fopen", "__sfvwrite_r", "qsort", + "__sf", + "__sflush_r", + "__srefill_r", + "_impure_data", + "_reclaim_reent", + "_open_r", + "strncpy", ], "string_ops": ["strcmp", "strncmp", "strchr", "strstr", "strtok", "strdup"], "memory_alloc": ["malloc", "calloc", "realloc", "free", "_sbrk"], - "file_io": ["fread", "fwrite", "fopen", "fclose", "fseek", "ftell", "fflush"], + "file_io": [ + "fread", + "fwrite", + "fopen", + "fclose", + "fseek", + "ftell", + "fflush", + "s_fd_table", + ], "string_formatting": [ "snprintf", "vsnprintf", @@ -107,8 +161,8 @@ SYMBOL_PATTERNS = { "sscanf", "vsscanf", ], - "cpp_anonymous": ["_GLOBAL__N_"], - "cpp_runtime": ["__cxx", "_ZN", "_ZL", "_ZSt", "__gxx_personality"], + "cpp_anonymous": ["_GLOBAL__N_", "n$"], + "cpp_runtime": ["__cxx", "_ZN", "_ZL", "_ZSt", "__gxx_personality", "_Z16"], "exception_handling": ["__cxa_", "_Unwind_", "__gcc_personality", "uw_frame_state"], "static_init": ["_GLOBAL__sub_I_"], "mdns_lib": ["mdns"], @@ -130,6 +184,18 @@ SYMBOL_PATTERNS = { "ram_txiq", "ram_txdc", "ram_gen_rx_gain", + "rx_11b_opt", + "set_rx_sense", + "set_rx_gain_cal", + "set_chan_dig_gain", + "tx_pwctrl_init_cal", + "rfcal_txiq", + "set_tx_gain_table", + "correct_rfpll_offset", + "pll_correct_dcap", + "txiq_cal_init", + "pwdet_sar", + "pwdet_sar2_init", ], "wifi_phy_pp": ["pp_", "ppT", "ppR", "ppP", "ppInstall", "ppCalTxAMPDULength"], "wifi_lmac": ["lmac"], @@ -143,7 +209,15 @@ SYMBOL_PATTERNS = { "power_down", "g_pm", ], - "memory_mgmt": ["mem_", "memory_", "tlsf_", "memp_"], + "memory_mgmt": [ + "mem_", + "memory_", + "tlsf_", + "memp_", + "pbuf_", + "pbuf_alloc", + "pbuf_copy_partial_pbuf", + ], "hal_layer": ["hal_"], "clock_mgmt": [ "clk_", @@ -166,7 +240,7 @@ SYMBOL_PATTERNS = { "wrapper_functions": ["_wrapper"], "error_handling": ["panic", "abort", "assert", "error_", "fault"], "authentication": ["auth"], - "ppp_protocol": ["ppp", "ipcp_", "lcp_", "chap_"], + "ppp_protocol": ["ppp", "ipcp_", "lcp_", "chap_", "LcpEchoCheck"], "dhcp": ["dhcp", "handle_dhcp"], "ethernet_phy": [ "emac_", @@ -225,7 +299,7 @@ SYMBOL_PATTERNS = { "libgcc": ["libgcc", "_divdi3", "_udivdi3"], "boot_startup": ["boot", "start_cpu", "call_start", "startup", "bootloader"], "bootloader": ["bootloader_", "esp_bootloader"], - "app_framework": ["app_", "initArduino", "setup", "loop"], + "app_framework": ["app_", "initArduino", "setup", "loop", "Update"], "weak_symbols": ["__weak_"], "compiler_builtins": ["__builtin_"], "vfs": ["vfs_", "VFS"], @@ -291,22 +365,35 @@ SYMBOL_PATTERNS = { "aria_", "mgf_mask", "dh_group", + "ccmp_aad_nonce", + "ccmp_encrypt", + "rc4_skip", + "aria_sb1", + "aria_sb2", + "aria_is1", + "aria_is2", + "aria_sl", + "aria_a", ], "radio_control": ["fsm_input", "fsm_sconfreq"], "pbuf": [ "pbuf_", - "ppSearchTxframe", - "ppMapWaitTxq", - "ppFillAMPDUBar", - "ppCheckTxConnTrafficIdle", ], - "ppTask": ["ppCalTkipMic"], "event_group": ["xEventGroup"], "ringbuffer": ["xRingbuffer", "prvSend", "prvReceive", "prvCopy"], - "provisioning": ["prov_"], + "provisioning": ["prov_", "prov_stop_and_notify"], "scan": ["gScanStruct"], "port": ["xPort"], - "elf_loader": ["elf_add", "process_image", "read_encoded"], + "elf_loader": [ + "elf_add", + "elf_add_note", + "elf_add_segment", + "process_image", + "read_encoded", + "read_encoded_value", + "read_encoded_value_with_base", + "process_image_header", + ], "socket_api": [ "sockets", "netconn_", @@ -315,11 +402,17 @@ SYMBOL_PATTERNS = { "socket_ipv4_multicast", "socket_ipv6_multicast", ], - "igmp": ["igmp_"], + "igmp": ["igmp_", "igmp_send", "igmp_input"], "icmp6": ["icmp6_"], "arp": ["arp_table"], - "ampdu": ["ampdu_", "rcAmpdu", "trc_onAmpduOp"], - "ieee802_11": ["ieee802_11_"], + "ampdu": [ + "ampdu_", + "rcAmpdu", + "trc_onAmpduOp", + "rcAmpduLowerRate", + "ampdu_dispatch_upto", + ], + "ieee802_11": ["ieee802_11_", "ieee802_11_parse_elems"], "rate_control": ["rssi_margin", "rcGetSched", "get_rate_fcc_index"], "nan": ["nan_dp_"], "channel_mgmt": ["chm_init", "chm_set_current_channel"],