espressif / esp-azure

SDK to connect ESP8266 and ESP32 to Microsoft Azure IoT services
177 stars 93 forks source link

Using Direct Methods with great amount of data, the wifi crashes (CA-46) #80

Closed sfarras closed 4 years ago

sfarras commented 4 years ago

When we use Direct Methods with payload bigger than 16kbytes~20Kbytes , some part of the wifi crashes and doesn't recover until reset. The amount of data to reproduce the issue can vary slightly, depending of the free RAM. Always crashes when json size is above 20kbytes.

The wifi module shows this message : W (100500) wifi: alloc eb len=24 type=3 fail, heap:4024328 W (100500) wifi: m f null

And this message is repeated indefinitely.. Info: Error from SSL_write: -26752 Info: Error from SSL_write: -26752 Info: Error from SSL_write: -26752 ...

We tried a lot of menuconfig combinations in aim to free as much RAM as possible. The result is more or less the same. The max amount of data to be sent (or receive) without problem can vary from 10kb to 20kb. Never more than 20 kbytes. The hardware used is an ESP32-WROVER module with 4MBytes of external RAM. We develop on esp-idf v3.3.1 framework version

AZURE IoT HUB can manage up to 128kbytes as explained in https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-direct-methods , and the WROVER module has enough RAM to manage these messages.

shahpiyushv commented 4 years ago

@sfarras , can you share your sdkconfig file?

sfarras commented 4 years ago

This is my sdkconfig

#

Automatically generated file; DO NOT EDIT.

Espressif IoT Development Framework Configuration

# CONFIG_IDF_TARGET="esp32"

#

SDK tool configuration

# CONFIG_TOOLPREFIX="xtensa-esp32-elf-" CONFIG_PYTHON="python" CONFIG_MAKE_WARN_UNDEFINED_VARIABLES=y

#

Application manager

# CONFIG_APP_COMPILE_TIME_DATE=y CONFIG_APP_EXCLUDE_PROJECT_VER_VAR= CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR=

#

Bootloader config

# CONFIG_LOG_BOOTLOADER_LEVEL_NONE= CONFIG_LOG_BOOTLOADER_LEVEL_ERROR= CONFIG_LOG_BOOTLOADER_LEVEL_WARN= CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG= CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE= CONFIG_LOG_BOOTLOADER_LEVEL=3 CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_8V= CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y CONFIG_BOOTLOADER_FACTORY_RESET= CONFIG_BOOTLOADER_APP_TEST= CONFIG_BOOTLOADER_WDT_ENABLE=y CONFIG_BOOTLOADER_WDT_DISABLE_IN_USER_CODE= CONFIG_BOOTLOADER_WDT_TIME_MS=9000 CONFIG_APP_ROLLBACK_ENABLE=

#

Security features

# CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT= CONFIG_SECURE_BOOT_ENABLED= CONFIG_FLASH_ENCRYPTION_ENABLED=

#

Serial flasher config

# CONFIG_ESPTOOLPY_PORT="/dev/ttyUSB0" CONFIG_ESPTOOLPY_BAUD_115200B= CONFIG_ESPTOOLPY_BAUD_230400B= CONFIG_ESPTOOLPY_BAUD_921600B= CONFIG_ESPTOOLPY_BAUD_2MB=y CONFIG_ESPTOOLPY_BAUD_OTHER= CONFIG_ESPTOOLPY_BAUD_OTHER_VAL=115200 CONFIG_ESPTOOLPY_BAUD=2000000 CONFIG_ESPTOOLPY_COMPRESSED=y CONFIG_FLASHMODE_QIO= CONFIG_FLASHMODE_QOUT= CONFIG_FLASHMODE_DIO=y CONFIG_FLASHMODE_DOUT= CONFIG_ESPTOOLPY_FLASHMODE="dio" CONFIG_ESPTOOLPY_FLASHFREQ_80M= CONFIG_ESPTOOLPY_FLASHFREQ_40M=y CONFIG_ESPTOOLPY_FLASHFREQ_26M= CONFIG_ESPTOOLPY_FLASHFREQ_20M= CONFIG_ESPTOOLPY_FLASHFREQ="40m" CONFIG_ESPTOOLPY_FLASHSIZE_1MB= CONFIG_ESPTOOLPY_FLASHSIZE_2MB= CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y CONFIG_ESPTOOLPY_FLASHSIZE_8MB= CONFIG_ESPTOOLPY_FLASHSIZE_16MB= CONFIG_ESPTOOLPY_FLASHSIZE="4MB" CONFIG_ESPTOOLPY_FLASHSIZE_DETECT=y CONFIG_ESPTOOLPY_BEFORE_RESET=y CONFIG_ESPTOOLPY_BEFORE_NORESET= CONFIG_ESPTOOLPY_BEFORE="default_reset" CONFIG_ESPTOOLPY_AFTER_RESET=y CONFIG_ESPTOOLPY_AFTER_NORESET= CONFIG_ESPTOOLPY_AFTER="hard_reset" CONFIG_MONITOR_BAUD_9600B= CONFIG_MONITOR_BAUD_57600B= CONFIG_MONITOR_BAUD_115200B=y CONFIG_MONITOR_BAUD_230400B= CONFIG_MONITOR_BAUD_921600B= CONFIG_MONITOR_BAUD_2MB= CONFIG_MONITOR_BAUD_OTHER= CONFIG_MONITOR_BAUD_OTHER_VAL=115200 CONFIG_MONITOR_BAUD=115200

#

Example Configuration

# CONFIG_PHY_TLK110= CONFIG_PHY_LAN8720=y CONFIG_PHY_ADDRESS=0 CONFIG_PHY_CLOCK_GPIO0_IN=y CONFIG_PHY_CLOCK_GPIO0_OUT= CONFIG_PHY_CLOCK_GPIO16_OUT= CONFIG_PHY_CLOCK_GPIO17_OUT= CONFIG_PHY_CLOCK_MODE=0 CONFIG_PHY_USE_POWER_PIN= CONFIG_PHY_SMI_MDC_PIN=23 CONFIG_PHY_SMI_MDIO_PIN=18

#

Partition Table

# CONFIG_PARTITION_TABLE_SINGLE_APP= CONFIG_PARTITION_TABLE_TWO_OTA= CONFIG_PARTITION_TABLE_CUSTOM=y CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="vtx_partition.csv" CONFIG_PARTITION_TABLE_FILENAME="vtx_partition.csv" CONFIG_PARTITION_TABLE_OFFSET=0x8000 CONFIG_PARTITION_TABLE_MD5=y

#

Compiler options

# CONFIG_OPTIMIZATION_LEVEL_DEBUG=y CONFIG_OPTIMIZATION_LEVEL_RELEASE= CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y CONFIG_OPTIMIZATION_ASSERTIONS_SILENT= CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED= CONFIG_CXX_EXCEPTIONS= CONFIG_STACK_CHECK_NONE=y CONFIG_STACK_CHECK_NORM= CONFIG_STACK_CHECK_STRONG= CONFIG_STACK_CHECK_ALL= CONFIG_STACK_CHECK= CONFIG_WARN_WRITE_STRINGS= CONFIG_DISABLE_GCC8_WARNINGS=

#

Component config

#

#

Application Level Tracing

# CONFIG_ESP32_APPTRACE_DEST_TRAX= CONFIG_ESP32_APPTRACE_DEST_NONE=y CONFIG_ESP32_APPTRACE_ENABLE= CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y CONFIG_AWS_IOT_SDK=

#

Bluetooth

# CONFIG_BT_ENABLED=y

#

Bluetooth controller

# CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY= CONFIG_BTDM_CONTROLLER_MODE_BTDM= CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN=3 CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=3 CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_ACL_CONN_EFF=0 CONFIG_BTDM_CONTROLLER_BR_EDR_MAX_SYNC_CONN_EFF=0 CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE_0=y CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE_1= CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE=0 CONFIG_BTDM_CONTROLLER_HCI_MODE_VHCI=y CONFIG_BTDM_CONTROLLER_HCI_MODE_UART_H4=

#

MODEM SLEEP Options

# CONFIG_BTDM_CONTROLLER_MODEM_SLEEP=y CONFIG_BTDM_MODEM_SLEEP_MODE_ORIG=y CONFIG_BTDM_MODEM_SLEEP_MODE_EVED= CONFIG_BTDM_LPCLK_SEL_MAIN_XTAL=y CONFIG_BLE_SCAN_DUPLICATE=y CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR=y CONFIG_SCAN_DUPLICATE_BY_ADV_DATA= CONFIG_SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR= CONFIG_SCAN_DUPLICATE_TYPE=0 CONFIG_DUPLICATE_SCAN_CACHE_SIZE=20 CONFIG_BLE_MESH_SCAN_DUPLICATE_EN= CONFIG_BTDM_CONTROLLER_FULL_SCAN_SUPPORTED= CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED=y CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM=100 CONFIG_BLE_ADV_REPORT_DISCARD_THRSHOLD=20 CONFIG_BLUEDROID_ENABLED=y CONFIG_BLUEDROID_PINNED_TO_CORE_0=y CONFIG_BLUEDROID_PINNED_TO_CORE_1= CONFIG_BLUEDROID_PINNED_TO_CORE=0 CONFIG_BTC_TASK_STACK_SIZE=3072 CONFIG_BTU_TASK_STACK_SIZE=4096 CONFIG_BLUEDROID_MEM_DEBUG= CONFIG_CLASSIC_BT_ENABLED= CONFIG_GATTS_ENABLE=y CONFIG_GATTS_SEND_SERVICE_CHANGE_MANUAL= CONFIG_GATTS_SEND_SERVICE_CHANGE_AUTO=y CONFIG_GATTS_SEND_SERVICE_CHANGE_MODE=0 CONFIG_GATTC_ENABLE=y CONFIG_GATTC_CACHE_NVS_FLASH= CONFIG_BLE_SMP_ENABLE=y CONFIG_SMP_SLAVE_CON_PARAMS_UPD_ENABLE= CONFIG_BT_STACK_NO_LOG=y CONFIG_BT_ACL_CONNECTIONS=4 CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST=y CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY=y CONFIG_BLE_HOST_QUEUE_CONGESTION_CHECK= CONFIG_SMP_ENABLE=y CONFIG_BLE_ACTIVE_SCAN_REPORT_ADV_SCAN_RSP_INDIVIDUALLY= CONFIG_BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT=30 CONFIG_BT_RESERVE_DRAM=0xdb5c

#

Driver configurations

#

#

ADC configuration

# CONFIG_ADC_FORCE_XPD_FSM= CONFIG_ADC2_DISABLE_DAC=y

#

SPI configuration

# CONFIG_SPI_MASTER_IN_IRAM= CONFIG_SPI_MASTER_ISR_IN_IRAM=y CONFIG_SPI_SLAVE_IN_IRAM= CONFIG_SPI_SLAVE_ISR_IN_IRAM=y

#

eFuse Bit Manager

# CONFIG_EFUSE_CUSTOM_TABLE= CONFIG_EFUSE_VIRTUAL= CONFIG_EFUSE_CODE_SCHEME_COMPAT_NONE= CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4=y CONFIG_EFUSE_CODE_SCHEME_COMPAT_REPEAT= CONFIG_EFUSE_MAX_BLK_LEN=192

#

ESP32-specific

# CONFIG_IDF_TARGET_ESP32=y CONFIG_ESP32_REV_MIN_0=y CONFIG_ESP32_REV_MIN_1= CONFIG_ESP32_REV_MIN_2= CONFIG_ESP32_REV_MIN_3= CONFIG_ESP32_REV_MIN=0 CONFIG_ESP32_DPORT_WORKAROUND=y CONFIG_ESP32_DEFAULT_CPU_FREQ_80= CONFIG_ESP32_DEFAULT_CPU_FREQ_160= CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ=240 CONFIG_SPIRAM_SUPPORT=y

#

SPI RAM config

# CONFIG_SPIRAM_BOOT_INIT=y CONFIG_SPIRAM_USE_MEMMAP= CONFIG_SPIRAM_USE_CAPS_ALLOC= CONFIG_SPIRAM_USE_MALLOC=y CONFIG_SPIRAM_TYPE_AUTO=y CONFIG_SPIRAM_TYPE_ESPPSRAM32= CONFIG_SPIRAM_TYPE_ESPPSRAM64= CONFIG_SPIRAM_SIZE=-1 CONFIG_SPIRAM_SPEED_40M=y CONFIG_SPIRAM_MEMTEST=y CONFIG_SPIRAM_CACHE_WORKAROUND=y CONFIG_SPIRAM_BANKSWITCH_ENABLE= CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=2048 CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST=y CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768 CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY= CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY=y

#

PSRAM clock and cs IO for ESP32-DOWD

# CONFIG_D0WD_PSRAM_CLK_IO=17 CONFIG_D0WD_PSRAM_CS_IO=16

#

PSRAM clock and cs IO for ESP32-D2WD

# CONFIG_D2WD_PSRAM_CLK_IO=9 CONFIG_D2WD_PSRAM_CS_IO=10

#

PSRAM clock and cs IO for ESP32-PICO

# CONFIG_PICO_PSRAM_CS_IO=10 CONFIG_SPIRAM_SPIWP_SD3_PIN=7 CONFIG_MEMMAP_TRACEMEM= CONFIG_MEMMAP_TRACEMEM_TWOBANKS= CONFIG_ESP32_TRAX= CONFIG_TRACEMEM_RESERVE_DRAM=0x0 CONFIG_TWO_UNIVERSAL_MAC_ADDRESS= CONFIG_FOUR_UNIVERSAL_MAC_ADDRESS=y CONFIG_NUMBER_OF_UNIVERSAL_MAC_ADDRESS=4 CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32 CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304 CONFIG_MAIN_TASK_STACK_SIZE=3584 CONFIG_IPC_TASK_STACK_SIZE=1024 CONFIG_TIMER_TASK_STACK_SIZE=3584 CONFIG_NEWLIB_STDOUT_LINE_ENDING_CRLF=y CONFIG_NEWLIB_STDOUT_LINE_ENDING_LF= CONFIG_NEWLIB_STDOUT_LINE_ENDING_CR= CONFIG_NEWLIB_STDIN_LINE_ENDING_CRLF= CONFIG_NEWLIB_STDIN_LINE_ENDING_LF= CONFIG_NEWLIB_STDIN_LINE_ENDING_CR=y CONFIG_NEWLIB_NANO_FORMAT= CONFIG_CONSOLE_UART_DEFAULT=y CONFIG_CONSOLE_UART_CUSTOM= CONFIG_CONSOLE_UART_NONE= CONFIG_CONSOLE_UART_NUM=0 CONFIG_CONSOLE_UART_BAUDRATE=115200 CONFIG_ULP_COPROC_ENABLED= CONFIG_ULP_COPROC_RESERVE_MEM=0 CONFIG_ESP32_PANIC_PRINT_HALT= CONFIG_ESP32_PANIC_PRINT_REBOOT=y CONFIG_ESP32_PANIC_SILENT_REBOOT= CONFIG_ESP32_PANIC_GDBSTUB= CONFIG_ESP32_DEBUG_OCDAWARE=y CONFIG_ESP32_DEBUG_STUBS_ENABLE=y CONFIG_INT_WDT=y CONFIG_INT_WDT_TIMEOUT_MS=300 CONFIG_INT_WDT_CHECK_CPU1=y CONFIG_TASK_WDT=y CONFIG_TASK_WDT_PANIC= CONFIG_TASK_WDT_TIMEOUT_S=5 CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU1=y CONFIG_BROWNOUT_DET=y CONFIG_BROWNOUT_DET_LVL_SEL_0=y CONFIG_BROWNOUT_DET_LVL_SEL_1= CONFIG_BROWNOUT_DET_LVL_SEL_2= CONFIG_BROWNOUT_DET_LVL_SEL_3= CONFIG_BROWNOUT_DET_LVL_SEL_4= CONFIG_BROWNOUT_DET_LVL_SEL_5= CONFIG_BROWNOUT_DET_LVL_SEL_6= CONFIG_BROWNOUT_DET_LVL_SEL_7= CONFIG_BROWNOUT_DET_LVL=0 CONFIG_REDUCE_PHY_TX_POWER=y CONFIG_ESP32_TIME_SYSCALL_USE_RTC_FRC1=y CONFIG_ESP32_TIME_SYSCALL_USE_RTC= CONFIG_ESP32_TIME_SYSCALL_USE_FRC1= CONFIG_ESP32_TIME_SYSCALL_USE_NONE= CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC=y CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_CRYSTAL= CONFIG_ESP32_RTC_CLOCK_SOURCE_EXTERNAL_OSC= CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_8MD256= CONFIG_ESP32_RTC_CLK_CAL_CYCLES=1024 CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 CONFIG_ESP32_XTAL_FREQ_40=y CONFIG_ESP32_XTAL_FREQ_26= CONFIG_ESP32_XTAL_FREQ_AUTO= CONFIG_ESP32_XTAL_FREQ=40 CONFIG_DISABLE_BASIC_ROM_CONSOLE= CONFIG_ESP_TIMER_PROFILING= CONFIG_COMPATIBLE_PRE_V2_1_BOOTLOADERS= CONFIG_ESP_ERR_TO_NAME_LOOKUP=y

#

Wi-Fi

# CONFIG_SW_COEXIST_ENABLE= CONFIG_ESP32_WIFI_STATIC_RX_BUFFER_NUM=16 CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=16 CONFIG_ESP32_WIFI_STATIC_TX_BUFFER=y CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=0 CONFIG_ESP32_WIFI_STATIC_TX_BUFFER_NUM=16 CONFIG_ESP32_WIFI_CSI_ENABLED= CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP32_WIFI_TX_BA_WIN=6 CONFIG_ESP32_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP32_WIFI_RX_BA_WIN=16 CONFIG_ESP32_WIFI_NVS_ENABLED=y CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_0=y CONFIG_ESP32_WIFI_TASK_PINNED_TO_CORE_1= CONFIG_ESP32_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP32_WIFI_MGMT_SBUF_NUM=32 CONFIG_ESP32_WIFI_DEBUG_LOG_ENABLE= CONFIG_ESP32_WIFI_IRAM_OPT=

#

PHY

# CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE=y CONFIG_ESP32_PHY_INIT_DATA_IN_PARTITION= CONFIG_ESP32_PHY_MAX_WIFI_TX_POWER=20 CONFIG_ESP32_PHY_MAX_TX_POWER=20

#

Power Management

# CONFIG_PM_ENABLE=

#

ADC-Calibration

# CONFIG_ADC_CAL_EFUSE_TP_ENABLE=y CONFIG_ADC_CAL_EFUSE_VREF_ENABLE=y CONFIG_ADC_CAL_LUT_ENABLE=y

#

Event Loop Library

# CONFIG_EVENT_LOOP_PROFILING=

#

ESP HTTP client

# CONFIG_ESP_HTTP_CLIENT_ENABLE_HTTPS=y

#

HTTP Server

# CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 CONFIG_HTTPD_MAX_URI_LEN=512 CONFIG_HTTPD_ERR_RESP_NO_DELAY=y CONFIG_HTTPD_PURGE_BUF_LEN=32 CONFIG_HTTPD_LOG_PURGE_DATA=

#

ESP HTTPS OTA

# CONFIG_OTA_ALLOW_HTTP=

#

Core dump

# CONFIG_ESP32_ENABLE_COREDUMP_TO_FLASH= CONFIG_ESP32_ENABLE_COREDUMP_TO_UART= CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE=y CONFIG_ESP32_ENABLE_COREDUMP=

#

Ethernet

# CONFIG_DMA_RX_BUF_NUM=10 CONFIG_DMA_TX_BUF_NUM=10 CONFIG_EMAC_L2_TO_L3_RX_BUF_MODE= CONFIG_EMAC_CHECK_LINK_PERIOD_MS=2000 CONFIG_EMAC_TASK_PRIORITY=20 CONFIG_EMAC_TASK_STACK_SIZE=3072

#

FAT Filesystem support

# CONFIG_FATFS_CODEPAGE_DYNAMIC= CONFIG_FATFS_CODEPAGE_437=y CONFIG_FATFS_CODEPAGE_720= CONFIG_FATFS_CODEPAGE_737= CONFIG_FATFS_CODEPAGE_771= CONFIG_FATFS_CODEPAGE_775= CONFIG_FATFS_CODEPAGE_850= CONFIG_FATFS_CODEPAGE_852= CONFIG_FATFS_CODEPAGE_855= CONFIG_FATFS_CODEPAGE_857= CONFIG_FATFS_CODEPAGE_860= CONFIG_FATFS_CODEPAGE_861= CONFIG_FATFS_CODEPAGE_862= CONFIG_FATFS_CODEPAGE_863= CONFIG_FATFS_CODEPAGE_864= CONFIG_FATFS_CODEPAGE_865= CONFIG_FATFS_CODEPAGE_866= CONFIG_FATFS_CODEPAGE_869= CONFIG_FATFS_CODEPAGE_932= CONFIG_FATFS_CODEPAGE_936= CONFIG_FATFS_CODEPAGE_949= CONFIG_FATFS_CODEPAGE_950= CONFIG_FATFS_CODEPAGE=437 CONFIG_FATFS_LFN_NONE=y CONFIG_FATFS_LFN_HEAP= CONFIG_FATFS_LFN_STACK= CONFIG_FATFS_FS_LOCK=0 CONFIG_FATFS_TIMEOUT_MS=10000 CONFIG_FATFS_PER_FILE_CACHE=y CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y

#

Modbus configuration

# CONFIG_MB_QUEUE_LENGTH=20 CONFIG_MB_SERIAL_TASK_STACK_SIZE=2048 CONFIG_MB_SERIAL_BUF_SIZE=256 CONFIG_MB_SERIAL_TASK_PRIO=10 CONFIG_MB_CONTROLLER_SLAVE_ID_SUPPORT= CONFIG_MB_CONTROLLER_NOTIFY_TIMEOUT=20 CONFIG_MB_CONTROLLER_NOTIFY_QUEUE_SIZE=20 CONFIG_MB_CONTROLLER_STACK_SIZE=4096 CONFIG_MB_EVENT_QUEUE_TIMEOUT=20 CONFIG_MB_TIMER_PORT_ENABLED=y CONFIG_MB_TIMER_GROUP=0 CONFIG_MB_TIMER_INDEX=0

#

FreeRTOS

# CONFIG_FREERTOS_UNICORE= CONFIG_FREERTOS_NO_AFFINITY=0x7FFFFFFF CONFIG_FREERTOS_CORETIMER_0=y CONFIG_FREERTOS_CORETIMER_1= CONFIG_FREERTOS_HZ=200 CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION=y CONFIG_FREERTOS_CHECK_STACKOVERFLOW_NONE= CONFIG_FREERTOS_CHECK_STACKOVERFLOW_PTRVAL= CONFIG_FREERTOS_CHECK_STACKOVERFLOW_CANARY=y CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK= CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS=1 CONFIG_FREERTOS_ASSERT_FAIL_ABORT=y CONFIG_FREERTOS_ASSERT_FAIL_PRINT_CONTINUE= CONFIG_FREERTOS_ASSERT_DISABLE= CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=1024 CONFIG_FREERTOS_ISR_STACKSIZE=1536 CONFIG_FREERTOS_LEGACY_HOOKS= CONFIG_FREERTOS_MAX_TASK_NAME_LEN=16 CONFIG_SUPPORT_STATIC_ALLOCATION=y CONFIG_ENABLE_STATIC_TASK_CLEAN_UP_HOOK= CONFIG_TIMER_TASK_PRIORITY=1 CONFIG_TIMER_TASK_STACK_DEPTH=2048 CONFIG_TIMER_QUEUE_LENGTH=10 CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0 CONFIG_FREERTOS_USE_TRACE_FACILITY= CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS= CONFIG_FREERTOS_DEBUG_INTERNALS= CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE=

#

Heap memory debugging

# CONFIG_HEAP_POISONING_DISABLED=y CONFIG_HEAP_POISONING_LIGHT= CONFIG_HEAP_POISONING_COMPREHENSIVE= CONFIG_HEAP_TRACING=

#

libsodium

# CONFIG_LIBSODIUM_USE_MBEDTLS_SHA=y

#

Log output

# CONFIG_LOG_DEFAULT_LEVEL_NONE= CONFIG_LOG_DEFAULT_LEVEL_ERROR= CONFIG_LOG_DEFAULT_LEVEL_WARN= CONFIG_LOG_DEFAULT_LEVEL_INFO=y CONFIG_LOG_DEFAULT_LEVEL_DEBUG= CONFIG_LOG_DEFAULT_LEVEL_VERBOSE= CONFIG_LOG_DEFAULT_LEVEL=3 CONFIG_LOG_COLORS=y

#

LWIP

# CONFIG_L2_TO_L3_COPY=y CONFIG_LWIP_IRAM_OPTIMIZATION=y CONFIG_LWIP_MAX_SOCKETS=10 CONFIG_USE_ONLY_LWIP_SELECT= CONFIG_LWIP_SO_REUSE=y CONFIG_LWIP_SO_REUSE_RXTOALL=y CONFIG_LWIP_SO_RCVBUF= CONFIG_LWIP_DHCP_MAX_NTP_SERVERS=1 CONFIG_LWIP_IP_FRAG= CONFIG_LWIP_IP_REASSEMBLY= CONFIG_LWIP_STATS= CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y CONFIG_ESP_GRATUITOUS_ARP=y CONFIG_GARP_TMR_INTERVAL=60 CONFIG_TCPIP_RECVMBOX_SIZE=32 CONFIG_LWIP_DHCP_DOES_ARP_CHECK=y CONFIG_LWIP_DHCP_RESTORE_LAST_IP=

#

DHCP server

# CONFIG_LWIP_DHCPS_LEASE_UNIT=60 CONFIG_LWIP_DHCPS_MAX_STATION_NUM=8 CONFIG_LWIP_AUTOIP= CONFIG_LWIP_NETIF_LOOPBACK=y CONFIG_LWIP_LOOPBACK_MAX_PBUFS=8

#

TCP

# CONFIG_LWIP_MAX_ACTIVE_TCP=16 CONFIG_LWIP_MAX_LISTENING_TCP=16 CONFIG_TCP_MAXRTX=12 CONFIG_TCP_SYNMAXRTX=6 CONFIG_TCP_MSS=1436 CONFIG_TCP_MSL=60000 CONFIG_TCP_SND_BUF_DEFAULT=12000 CONFIG_TCP_WND_DEFAULT=30000 CONFIG_TCP_RECVMBOX_SIZE=24 CONFIG_TCP_QUEUE_OOSEQ=y CONFIG_ESP_TCP_KEEP_CONNECTION_WHEN_IP_CHANGES= CONFIG_TCP_OVERSIZE_MSS=y CONFIG_TCP_OVERSIZE_QUARTER_MSS= CONFIG_TCP_OVERSIZE_DISABLE= CONFIG_LWIP_WND_SCALE=

#

UDP

# CONFIG_LWIP_MAX_UDP_PCBS=16 CONFIG_UDP_RECVMBOX_SIZE=6 CONFIG_TCPIP_TASK_STACK_SIZE=4096 CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY= CONFIG_TCPIP_TASK_AFFINITY_CPU0=y CONFIG_TCPIP_TASK_AFFINITY_CPU1= CONFIG_TCPIP_TASK_AFFINITY=0x0 CONFIG_PPP_SUPPORT=

#

ICMP

# CONFIG_LWIP_MULTICAST_PING= CONFIG_LWIP_BROADCAST_PING=

#

LWIP RAW API

# CONFIG_LWIP_MAX_RAW_PCBS=16

#

mbedTLS

# CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC= CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC=y CONFIG_MBEDTLS_DEFAULT_MEM_ALLOC= CONFIG_MBEDTLS_CUSTOM_MEM_ALLOC= CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384 CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN= CONFIG_MBEDTLS_DEBUG= CONFIG_MBEDTLS_HARDWARE_AES=y CONFIG_MBEDTLS_HARDWARE_MPI= CONFIG_MBEDTLS_HARDWARE_SHA= CONFIG_MBEDTLS_HAVE_TIME=y CONFIG_MBEDTLS_HAVE_TIME_DATE= CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT= CONFIG_MBEDTLS_TLS_SERVER_ONLY= CONFIG_MBEDTLS_TLS_CLIENT_ONLY=y CONFIG_MBEDTLS_TLS_DISABLED= CONFIG_MBEDTLS_TLS_CLIENT=y CONFIG_MBEDTLS_TLS_ENABLED=y

#

TLS Key Exchange Methods

# CONFIG_MBEDTLS_PSK_MODES= CONFIG_MBEDTLS_KEY_EXCHANGE_RSA=y CONFIG_MBEDTLS_KEY_EXCHANGE_DHE_RSA=y CONFIG_MBEDTLS_KEY_EXCHANGE_ELLIPTIC_CURVE=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_RSA=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA=y CONFIG_MBEDTLS_KEY_EXCHANGE_ECDH_RSA=y CONFIG_MBEDTLS_SSL_RENEGOTIATION=y CONFIG_MBEDTLS_SSL_PROTO_SSL3= CONFIG_MBEDTLS_SSL_PROTO_TLS1=y CONFIG_MBEDTLS_SSL_PROTO_TLS1_1=y CONFIG_MBEDTLS_SSL_PROTO_TLS1_2=y CONFIG_MBEDTLS_SSL_PROTO_DTLS= CONFIG_MBEDTLS_SSL_ALPN=y CONFIG_MBEDTLS_SSL_SESSION_TICKETS=y

#

Symmetric Ciphers

# CONFIG_MBEDTLS_AES_C=y CONFIG_MBEDTLS_CAMELLIA_C= CONFIG_MBEDTLS_DES_C= CONFIG_MBEDTLS_RC4_DISABLED=y CONFIG_MBEDTLS_RC4_ENABLED_NO_DEFAULT= CONFIG_MBEDTLS_RC4_ENABLED= CONFIG_MBEDTLS_BLOWFISH_C= CONFIG_MBEDTLS_XTEA_C= CONFIG_MBEDTLS_CCM_C=y CONFIG_MBEDTLS_GCM_C=y CONFIG_MBEDTLS_RIPEMD160_C=

#

Certificates

# CONFIG_MBEDTLS_PEM_PARSE_C=y CONFIG_MBEDTLS_PEM_WRITE_C=y CONFIG_MBEDTLS_X509_CRL_PARSE_C=y CONFIG_MBEDTLS_X509_CSR_PARSE_C=y CONFIG_MBEDTLS_ECP_C=y CONFIG_MBEDTLS_ECDH_C=y CONFIG_MBEDTLS_ECDSA_C=y CONFIG_MBEDTLS_ECP_DP_SECP192R1_ENABLED=y CONFIG_MBEDTLS_ECP_DP_SECP224R1_ENABLED=y CONFIG_MBEDTLS_ECP_DP_SECP256R1_ENABLED=y CONFIG_MBEDTLS_ECP_DP_SECP384R1_ENABLED=y CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=y CONFIG_MBEDTLS_ECP_DP_SECP192K1_ENABLED=y CONFIG_MBEDTLS_ECP_DP_SECP224K1_ENABLED=y CONFIG_MBEDTLS_ECP_DP_SECP256K1_ENABLED=y CONFIG_MBEDTLS_ECP_DP_BP256R1_ENABLED=y CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y CONFIG_MBEDTLS_ECP_NIST_OPTIM=y

#

mDNS

# CONFIG_MDNS_MAX_SERVICES=10

#

ESP-MQTT Configurations

# CONFIG_MQTT_PROTOCOL_311=y CONFIG_MQTT_TRANSPORT_SSL=y CONFIG_MQTT_TRANSPORT_WEBSOCKET=y CONFIG_MQTT_TRANSPORT_WEBSOCKET_SECURE=y CONFIG_MQTT_USE_CUSTOM_CONFIG= CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED= CONFIG_MQTT_CUSTOM_OUTBOX=

#

NVS

#

#

OpenSSL

# CONFIG_OPENSSL_DEBUG= CONFIG_OPENSSL_ASSERT_DO_NOTHING=y CONFIG_OPENSSL_ASSERT_EXIT=

#

PThreads

# CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5 CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=3072 CONFIG_PTHREAD_STACK_MIN=768 CONFIG_ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY=y CONFIG_ESP32_DEFAULT_PTHREAD_CORE_0= CONFIG_ESP32_DEFAULT_PTHREAD_CORE_1= CONFIG_ESP32_PTHREAD_TASK_CORE_DEFAULT=-1 CONFIG_ESP32_PTHREAD_TASK_NAME_DEFAULT="pthread"

#

SPI Flash driver

# CONFIG_SPI_FLASH_VERIFY_WRITE= CONFIG_SPI_FLASH_ENABLE_COUNTERS= CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=y CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS=y CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS= CONFIG_SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED= CONFIG_SPI_FLASH_YIELD_DURING_ERASE=

#

SPIFFS Configuration

# CONFIG_SPIFFS_MAX_PARTITIONS=3

#

SPIFFS Cache Configuration

# CONFIG_SPIFFS_CACHE=y CONFIG_SPIFFS_CACHE_WR=y CONFIG_SPIFFS_CACHE_STATS= CONFIG_SPIFFS_PAGE_CHECK=y CONFIG_SPIFFS_GC_MAX_RUNS=10 CONFIG_SPIFFS_GC_STATS= CONFIG_SPIFFS_PAGE_SIZE=256 CONFIG_SPIFFS_OBJ_NAME_LEN=32 CONFIG_SPIFFS_USE_MAGIC=y CONFIG_SPIFFS_USE_MAGIC_LENGTH=y CONFIG_SPIFFS_META_LENGTH=4 CONFIG_SPIFFS_USE_MTIME=y

#

Debug Configuration

# CONFIG_SPIFFS_DBG= CONFIG_SPIFFS_API_DBG= CONFIG_SPIFFS_GC_DBG= CONFIG_SPIFFS_CACHE_DBG= CONFIG_SPIFFS_CHECK_DBG= CONFIG_SPIFFS_TEST_VISUALISATION=

#

TCP/IP Adapter

# CONFIG_IP_LOST_TIMER_INTERVAL=120 CONFIG_TCPIP_LWIP=y

#

Unity unit testing library

# CONFIG_UNITY_ENABLE_FLOAT=y CONFIG_UNITY_ENABLE_DOUBLE=y CONFIG_UNITY_ENABLE_COLOR= CONFIG_UNITY_ENABLE_IDF_TEST_RUNNER=y CONFIG_UNITY_ENABLE_FIXTURE=

#

Virtual file system

# CONFIG_SUPPRESS_SELECT_DEBUG_OUTPUT=y CONFIG_SUPPORT_TERMIOS=y

#

Wear Levelling

# CONFIG_WL_SECTOR_SIZE_512= CONFIG_WL_SECTOR_SIZE_4096=y CONFIG_WL_SECTOR_SIZE=4096

#

Wi-Fi Provisioning Manager

# CONFIG_WIFI_PROV_SCAN_MAX_ENTRIES=16

sfarras commented 4 years ago

Hi, I think esp-azure has no issues on this. The problem is how I manage the internal RAM. My work around was setting CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL to very small value, leaving available a big amount of internal RAM to wifi and ssl layers....