Skip to content

Commit 1053071

Browse files
authored
Reduces binary size for esp32, s2 and c3 (#47)
on commit deacf43 sdkconfig modifications to build libraries with compile optimization to size (-Os) keep all the bootloaders with -Os and no boot messages changes max number of sockets from 10 to 16 disables LWIP "Experimental PPP and SLIP" because it adds about 60K to the binary size and it's not used in Arduino on commit a133257 sets WIFI LWIP to try first to allocate from SPIRAM on esp32 (this is esp32s2 default configuration) defines SPIRAM_MALLOC_ALWAYSINTERNAL to 4096 bytes on esp32 (same as default for esp32s2) disables SPIRAM_MALLOC_RESERVE_INTERNAL on both esp32 and esp32s2 to release more RAM to heap Related PRs in Arduino-ESP32: espressif/arduino-esp32#5789 espressif/arduino-esp32#5791 Related issue: espressif/arduino-esp32#5699 espressif/arduino-esp32#5474 espressif/arduino-esp32#5630 espressif/arduino-esp32#5751
1 parent 51a3ba2 commit 1053071

File tree

3 files changed

+29
-57
lines changed

3 files changed

+29
-57
lines changed

sdkconfig.esp32

+11-24
Original file line numberDiff line numberDiff line change
@@ -222,8 +222,8 @@ CONFIG_ARDUHAL_PARTITION_SCHEME="default"
222222
# Compiler options
223223
#
224224
# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set
225-
# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
226-
CONFIG_COMPILER_OPTIMIZATION_PERF=y
225+
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
226+
# CONFIG_COMPILER_OPTIMIZATION_PERF is not set
227227
# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
228228
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
229229
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
@@ -491,9 +491,9 @@ CONFIG_SPIRAM=y
491491
# CONFIG_SPIRAM_USE_MEMMAP is not set
492492
# CONFIG_SPIRAM_USE_CAPS_ALLOC is not set
493493
CONFIG_SPIRAM_USE_MALLOC=y
494-
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=16384
495-
# CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP is not set
496-
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768
494+
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096
495+
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
496+
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0
497497
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
498498
# CONFIG_SPIRAM_ALLOW_NOINIT_SEG_EXTERNAL_MEMORY is not set
499499
CONFIG_SPIRAM_CACHE_WORKAROUND=y
@@ -1007,7 +1007,7 @@ CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
10071007
# CONFIG_LWIP_L2_TO_L3_COPY is not set
10081008
# CONFIG_LWIP_IRAM_OPTIMIZATION is not set
10091009
CONFIG_LWIP_TIMERS_ONDEMAND=y
1010-
CONFIG_LWIP_MAX_SOCKETS=10
1010+
CONFIG_LWIP_MAX_SOCKETS=16
10111011
# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set
10121012
# CONFIG_LWIP_SO_LINGER is not set
10131013
CONFIG_LWIP_SO_REUSE=y
@@ -1066,6 +1066,7 @@ CONFIG_LWIP_TCP_QUEUE_OOSEQ=y
10661066
CONFIG_LWIP_TCP_OVERSIZE_MSS=y
10671067
# CONFIG_LWIP_TCP_OVERSIZE_QUARTER_MSS is not set
10681068
# CONFIG_LWIP_TCP_OVERSIZE_DISABLE is not set
1069+
# CONFIG_LWIP_WND_SCALE is not set
10691070
CONFIG_LWIP_TCP_RTO_TIME=3000
10701071
# end of TCP
10711072

@@ -1089,17 +1090,9 @@ CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=2560
10891090
CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y
10901091
# CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU1 is not set
10911092
CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x0
1092-
CONFIG_LWIP_PPP_SUPPORT=y
1093-
CONFIG_LWIP_PPP_ENABLE_IPV6=y
1093+
# CONFIG_LWIP_PPP_SUPPORT is not set
10941094
CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3
10951095
CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5
1096-
# CONFIG_LWIP_PPP_NOTIFY_PHASE_SUPPORT is not set
1097-
CONFIG_LWIP_PPP_PAP_SUPPORT=y
1098-
CONFIG_LWIP_PPP_CHAP_SUPPORT=y
1099-
CONFIG_LWIP_PPP_MSCHAP_SUPPORT=y
1100-
CONFIG_LWIP_PPP_MPPE_SUPPORT=y
1101-
# CONFIG_LWIP_ENABLE_LCP_ECHO is not set
1102-
# CONFIG_LWIP_PPP_DEBUG_ON is not set
11031096
# CONFIG_LWIP_SLIP_SUPPORT is not set
11041097

11051098
#
@@ -1579,7 +1572,7 @@ CONFIG_MONITOR_BAUD_115200B=y
15791572
CONFIG_MONITOR_BAUD_OTHER_VAL=115200
15801573
CONFIG_MONITOR_BAUD=115200
15811574
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set
1582-
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set
1575+
CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y
15831576
CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
15841577
# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set
15851578
# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set
@@ -1649,7 +1642,7 @@ CONFIG_SMP_ENABLE=y
16491642
CONFIG_BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT=30
16501643
CONFIG_ADC2_DISABLE_DAC=y
16511644
CONFIG_SPIRAM_SUPPORT=y
1652-
# CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST is not set
1645+
CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST=y
16531646
CONFIG_TRACEMEM_RESERVE_DRAM=0x0
16541647
CONFIG_ULP_COPROC_ENABLED=y
16551648
CONFIG_ULP_COPROC_RESERVE_MEM=512
@@ -1744,13 +1737,7 @@ CONFIG_TCPIP_TASK_STACK_SIZE=2560
17441737
CONFIG_TCPIP_TASK_AFFINITY_CPU0=y
17451738
# CONFIG_TCPIP_TASK_AFFINITY_CPU1 is not set
17461739
CONFIG_TCPIP_TASK_AFFINITY=0x0
1747-
CONFIG_PPP_SUPPORT=y
1748-
# CONFIG_PPP_NOTIFY_PHASE_SUPPORT is not set
1749-
CONFIG_PPP_PAP_SUPPORT=y
1750-
CONFIG_PPP_CHAP_SUPPORT=y
1751-
CONFIG_PPP_MSCHAP_SUPPORT=y
1752-
CONFIG_PPP_MPPE_SUPPORT=y
1753-
# CONFIG_PPP_DEBUG_ON is not set
1740+
# CONFIG_PPP_SUPPORT is not set
17541741
CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
17551742
CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048
17561743
CONFIG_ESP32_PTHREAD_STACK_MIN=768

sdkconfig.esp32c3

+11-12
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,13 @@ CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
4343
# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_DEBUG is not set
4444
# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF is not set
4545
# CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_NONE is not set
46-
# CONFIG_BOOTLOADER_LOG_LEVEL_NONE is not set
46+
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
4747
# CONFIG_BOOTLOADER_LOG_LEVEL_ERROR is not set
4848
# CONFIG_BOOTLOADER_LOG_LEVEL_WARN is not set
49-
CONFIG_BOOTLOADER_LOG_LEVEL_INFO=y
49+
# CONFIG_BOOTLOADER_LOG_LEVEL_INFO is not set
5050
# CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG is not set
5151
# CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE is not set
52-
CONFIG_BOOTLOADER_LOG_LEVEL=3
52+
CONFIG_BOOTLOADER_LOG_LEVEL=0
5353
CONFIG_BOOTLOADER_VDDSDIO_BOOST_1_9V=y
5454
# CONFIG_BOOTLOADER_FACTORY_RESET is not set
5555
# CONFIG_BOOTLOADER_APP_TEST is not set
@@ -192,8 +192,8 @@ CONFIG_ARDUHAL_PARTITION_SCHEME="default"
192192
#
193193
# Compiler options
194194
#
195-
CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y
196-
# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
195+
# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set
196+
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
197197
# CONFIG_COMPILER_OPTIMIZATION_PERF is not set
198198
# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
199199
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
@@ -951,7 +951,6 @@ CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=10
951951
CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE=0
952952
# CONFIG_FREERTOS_USE_TRACE_FACILITY is not set
953953
# CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS is not set
954-
CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y
955954
CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER=y
956955
# CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE is not set
957956
# CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH is not set
@@ -1025,7 +1024,7 @@ CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
10251024
# CONFIG_LWIP_L2_TO_L3_COPY is not set
10261025
# CONFIG_LWIP_IRAM_OPTIMIZATION is not set
10271026
CONFIG_LWIP_TIMERS_ONDEMAND=y
1028-
CONFIG_LWIP_MAX_SOCKETS=10
1027+
CONFIG_LWIP_MAX_SOCKETS=16
10291028
# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set
10301029
# CONFIG_LWIP_SO_LINGER is not set
10311030
CONFIG_LWIP_SO_REUSE=y
@@ -1520,13 +1519,13 @@ CONFIG_LITTLEFS_MTIME_USE_SECONDS=y
15201519

15211520
# Deprecated options for backward compatibility
15221521
CONFIG_TOOLPREFIX="riscv32-esp-elf-"
1523-
# CONFIG_LOG_BOOTLOADER_LEVEL_NONE is not set
1522+
CONFIG_LOG_BOOTLOADER_LEVEL_NONE=y
15241523
# CONFIG_LOG_BOOTLOADER_LEVEL_ERROR is not set
15251524
# CONFIG_LOG_BOOTLOADER_LEVEL_WARN is not set
1526-
CONFIG_LOG_BOOTLOADER_LEVEL_INFO=y
1525+
# CONFIG_LOG_BOOTLOADER_LEVEL_INFO is not set
15271526
# CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG is not set
15281527
# CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE is not set
1529-
CONFIG_LOG_BOOTLOADER_LEVEL=3
1528+
CONFIG_LOG_BOOTLOADER_LEVEL=0
15301529
# CONFIG_APP_ROLLBACK_ENABLE is not set
15311530
# CONFIG_FLASH_ENCRYPTION_ENABLED is not set
15321531
# CONFIG_FLASHMODE_QIO is not set
@@ -1542,8 +1541,8 @@ CONFIG_MONITOR_BAUD_115200B=y
15421541
# CONFIG_MONITOR_BAUD_OTHER is not set
15431542
CONFIG_MONITOR_BAUD_OTHER_VAL=115200
15441543
CONFIG_MONITOR_BAUD=115200
1545-
CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y
1546-
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set
1544+
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set
1545+
CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y
15471546
CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
15481547
# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set
15491548
# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set

sdkconfig.esp32s2

+7-21
Original file line numberDiff line numberDiff line change
@@ -256,8 +256,8 @@ CONFIG_TINYUSB_DEBUG_LEVEL=0
256256
# Compiler options
257257
#
258258
# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set
259-
# CONFIG_COMPILER_OPTIMIZATION_SIZE is not set
260-
CONFIG_COMPILER_OPTIMIZATION_PERF=y
259+
CONFIG_COMPILER_OPTIMIZATION_SIZE=y
260+
# CONFIG_COMPILER_OPTIMIZATION_PERF is not set
261261
# CONFIG_COMPILER_OPTIMIZATION_NONE is not set
262262
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y
263263
# CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set
@@ -418,7 +418,7 @@ CONFIG_SPIRAM=y
418418
CONFIG_SPIRAM_USE_MALLOC=y
419419
CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096
420420
CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y
421-
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=32768
421+
CONFIG_SPIRAM_MALLOC_RESERVE_INTERNAL=0
422422
# CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY is not set
423423
# end of SPI RAM config
424424

@@ -858,7 +858,7 @@ CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y
858858
# CONFIG_LWIP_L2_TO_L3_COPY is not set
859859
# CONFIG_LWIP_IRAM_OPTIMIZATION is not set
860860
CONFIG_LWIP_TIMERS_ONDEMAND=y
861-
CONFIG_LWIP_MAX_SOCKETS=10
861+
CONFIG_LWIP_MAX_SOCKETS=16
862862
# CONFIG_LWIP_USE_ONLY_LWIP_SELECT is not set
863863
# CONFIG_LWIP_SO_LINGER is not set
864864
CONFIG_LWIP_SO_REUSE=y
@@ -940,17 +940,9 @@ CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=2560
940940
# CONFIG_LWIP_TCPIP_TASK_AFFINITY_NO_AFFINITY is not set
941941
CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y
942942
CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x0
943-
CONFIG_LWIP_PPP_SUPPORT=y
944-
CONFIG_LWIP_PPP_ENABLE_IPV6=y
943+
# CONFIG_LWIP_PPP_SUPPORT is not set
945944
CONFIG_LWIP_IPV6_MEMP_NUM_ND6_QUEUE=3
946945
CONFIG_LWIP_IPV6_ND6_NUM_NEIGHBORS=5
947-
# CONFIG_LWIP_PPP_NOTIFY_PHASE_SUPPORT is not set
948-
CONFIG_LWIP_PPP_PAP_SUPPORT=y
949-
CONFIG_LWIP_PPP_CHAP_SUPPORT=y
950-
CONFIG_LWIP_PPP_MSCHAP_SUPPORT=y
951-
CONFIG_LWIP_PPP_MPPE_SUPPORT=y
952-
# CONFIG_LWIP_ENABLE_LCP_ECHO is not set
953-
# CONFIG_LWIP_PPP_DEBUG_ON is not set
954946
# CONFIG_LWIP_SLIP_SUPPORT is not set
955947

956948
#
@@ -1443,7 +1435,7 @@ CONFIG_USB_MSC_BUFSIZE=4096
14431435
CONFIG_USB_DESC_HID_STRING="Espressif HID Device"
14441436
CONFIG_USB_DEBUG_LEVEL=0
14451437
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set
1446-
# CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set
1438+
CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE=y
14471439
CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y
14481440
# CONFIG_OPTIMIZATION_ASSERTIONS_SILENT is not set
14491441
# CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED is not set
@@ -1532,13 +1524,7 @@ CONFIG_TCPIP_TASK_STACK_SIZE=2560
15321524
# CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY is not set
15331525
CONFIG_TCPIP_TASK_AFFINITY_CPU0=y
15341526
CONFIG_TCPIP_TASK_AFFINITY=0x0
1535-
CONFIG_PPP_SUPPORT=y
1536-
# CONFIG_PPP_NOTIFY_PHASE_SUPPORT is not set
1537-
CONFIG_PPP_PAP_SUPPORT=y
1538-
CONFIG_PPP_CHAP_SUPPORT=y
1539-
CONFIG_PPP_MSCHAP_SUPPORT=y
1540-
CONFIG_PPP_MPPE_SUPPORT=y
1541-
# CONFIG_PPP_DEBUG_ON is not set
1527+
# CONFIG_PPP_SUPPORT is not set
15421528
CONFIG_ESP32_PTHREAD_TASK_PRIO_DEFAULT=5
15431529
CONFIG_ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT=2048
15441530
CONFIG_ESP32_PTHREAD_STACK_MIN=768

0 commit comments

Comments
 (0)