Skip to content

Commit 03e5043

Browse files
committed
Turn off Idle WDT and speed up CPU
1 parent ed6e81d commit 03e5043

File tree

3 files changed

+21
-16
lines changed

3 files changed

+21
-16
lines changed

ports/esp32s2/background.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,8 @@ void run_background_tasks(void) {
4747
return;
4848
}
4949

50-
// Delay for 1 tick so that we don't starve the idle task.
51-
// TODO: 1 tick is 10ms which is a long time! Can we delegate to idle for a minimal amount of
52-
// time?
53-
vTaskDelay(1);
50+
// Zero delay in case FreeRTOS wants to switch to something else.
51+
vTaskDelay(0);
5452
running_background_tasks = true;
5553
filesystem_background();
5654

ports/esp32s2/sdkconfig.defaults

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -190,9 +190,9 @@ CONFIG_EFUSE_MAX_BLK_LEN=256
190190
# ESP32S2-specific
191191
#
192192
# CONFIG_ESP32S2_DEFAULT_CPU_FREQ_80 is not set
193-
CONFIG_ESP32S2_DEFAULT_CPU_FREQ_160=y
194-
# CONFIG_ESP32S2_DEFAULT_CPU_FREQ_240 is not set
195-
CONFIG_ESP32S2_DEFAULT_CPU_FREQ_MHZ=160
193+
# CONFIG_ESP32S2_DEFAULT_CPU_FREQ_160 is not set
194+
CONFIG_ESP32S2_DEFAULT_CPU_FREQ_240=y
195+
CONFIG_ESP32S2_DEFAULT_CPU_FREQ_MHZ=240
196196

197197
#
198198
# Memory protection
@@ -271,10 +271,7 @@ CONFIG_ESP_CONSOLE_UART_RX_GPIO=3
271271
CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
272272
CONFIG_ESP_INT_WDT=y
273273
CONFIG_ESP_INT_WDT_TIMEOUT_MS=300
274-
CONFIG_ESP_TASK_WDT=y
275-
# CONFIG_ESP_TASK_WDT_PANIC is not set
276-
CONFIG_ESP_TASK_WDT_TIMEOUT_S=5
277-
CONFIG_ESP_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
274+
# CONFIG_ESP_TASK_WDT is not set
278275
CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_STA=y
279276
CONFIG_ESP_MAC_ADDR_UNIVERSE_WIFI_AP=y
280277
# end of Common ESP-related
@@ -528,6 +525,7 @@ CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y
528525
CONFIG_MBEDTLS_ASYMMETRIC_CONTENT_LEN=y
529526
CONFIG_MBEDTLS_SSL_IN_CONTENT_LEN=16384
530527
CONFIG_MBEDTLS_SSL_OUT_CONTENT_LEN=4096
528+
# CONFIG_MBEDTLS_DYNAMIC_BUFFER is not set
531529
# CONFIG_MBEDTLS_DEBUG is not set
532530

533531
#
@@ -547,8 +545,12 @@ CONFIG_MBEDTLS_AES_USE_INTERRUPT=y
547545
CONFIG_MBEDTLS_HARDWARE_GCM=y
548546
CONFIG_MBEDTLS_HARDWARE_MPI=y
549547
CONFIG_MBEDTLS_HARDWARE_SHA=y
548+
# CONFIG_MBEDTLS_ATCA_HW_ECDSA_SIGN is not set
549+
# CONFIG_MBEDTLS_ATCA_HW_ECDSA_VERIFY is not set
550550
CONFIG_MBEDTLS_HAVE_TIME=y
551551
# CONFIG_MBEDTLS_HAVE_TIME_DATE is not set
552+
CONFIG_MBEDTLS_ECDSA_DETERMINISTIC=y
553+
CONFIG_MBEDTLS_SHA512_C=y
552554
CONFIG_MBEDTLS_TLS_SERVER_AND_CLIENT=y
553555
# CONFIG_MBEDTLS_TLS_SERVER_ONLY is not set
554556
# CONFIG_MBEDTLS_TLS_CLIENT_ONLY is not set
@@ -627,6 +629,10 @@ CONFIG_MBEDTLS_ECP_DP_BP384R1_ENABLED=y
627629
CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED=y
628630
CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED=y
629631
CONFIG_MBEDTLS_ECP_NIST_OPTIM=y
632+
# CONFIG_MBEDTLS_POLY1305_C is not set
633+
# CONFIG_MBEDTLS_CHACHA20_C is not set
634+
# CONFIG_MBEDTLS_HKDF_C is not set
635+
# CONFIG_MBEDTLS_THREADING_C is not set
630636
# CONFIG_MBEDTLS_SECURITY_RISKS is not set
631637
# end of mbedTLS
632638

@@ -705,6 +711,7 @@ CONFIG_WPA_MBEDTLS_CRYPTO=y
705711
# CONFIG_WPA_DEBUG_PRINT is not set
706712
# CONFIG_WPA_TESTING_OPTIONS is not set
707713
# CONFIG_WPA_TLS_V12 is not set
714+
# CONFIG_WPA_WPS_WARS is not set
708715
# end of Supplicant
709716
# end of Component config
710717

@@ -756,7 +763,7 @@ CONFIG_ESP32_APPTRACE_LOCK_ENABLE=y
756763
CONFIG_ADC2_DISABLE_DAC=y
757764
CONFIG_SYSTEM_EVENT_QUEUE_SIZE=32
758765
CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE=2304
759-
CONFIG_MAIN_TASK_STACK_SIZE=3584
766+
CONFIG_MAIN_TASK_STACK_SIZE=8192
760767
CONFIG_IPC_TASK_STACK_SIZE=1024
761768
CONFIG_CONSOLE_UART_DEFAULT=y
762769
# CONFIG_CONSOLE_UART_CUSTOM is not set
@@ -767,10 +774,7 @@ CONFIG_CONSOLE_UART_RX_GPIO=3
767774
CONFIG_CONSOLE_UART_BAUDRATE=115200
768775
CONFIG_INT_WDT=y
769776
CONFIG_INT_WDT_TIMEOUT_MS=300
770-
CONFIG_TASK_WDT=y
771-
# CONFIG_TASK_WDT_PANIC is not set
772-
CONFIG_TASK_WDT_TIMEOUT_S=5
773-
CONFIG_TASK_WDT_CHECK_IDLE_TASK_CPU0=y
777+
# CONFIG_TASK_WDT is not set
774778
# CONFIG_EVENT_LOOP_PROFILING is not set
775779
CONFIG_POST_EVENTS_FROM_ISR=y
776780
CONFIG_POST_EVENTS_FROM_IRAM_ISR=y

ports/esp32s2/supervisor/port.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ safe_mode_t port_init(void) {
6969
void reset_port(void) {
7070
reset_all_pins();
7171

72+
// A larger delay so the idle task can run and do any IDF cleanup needed.
73+
vTaskDelay(4);
74+
7275
#if CIRCUITPY_BUSIO
7376
i2c_reset();
7477
spi_reset();

0 commit comments

Comments
 (0)