diff --git a/esphome/core/application.cpp b/esphome/core/application.cpp index 68c8630b405..164b9b7bb5d 100644 --- a/esphome/core/application.cpp +++ b/esphome/core/application.cpp @@ -261,15 +261,16 @@ void Application::process_dump_config_() { esp_chip_info(&chip_info); ESP_LOGI(TAG, "ESP32 Chip: %s rev%d.%d, %d core(s)", ESPHOME_VARIANT, chip_info.revision / 100, chip_info.revision % 100, chip_info.cores); + static const char *const ESP32_ADVANCED_PATH = "under esp32 > framework > advanced"; #if defined(USE_ESP32_VARIANT_ESP32) && !defined(USE_ESP32_MIN_CHIP_REVISION_SET) // Suggest optimization for chips that don't need the PSRAM cache workaround if (chip_info.revision >= 300) { #ifdef USE_PSRAM - ESP_LOGW(TAG, "Set minimum_chip_revision: \"%d.%d\" to save ~10KB IRAM", chip_info.revision / 100, - chip_info.revision % 100); + ESP_LOGW(TAG, "Chip rev >= 3.0 detected. Set minimum_chip_revision: \"%d.%d\" %s to save ~10KB IRAM", + chip_info.revision / 100, chip_info.revision % 100, ESP32_ADVANCED_PATH); #else - ESP_LOGW(TAG, "Set minimum_chip_revision: \"%d.%d\" to reduce binary size", chip_info.revision / 100, - chip_info.revision % 100); + ESP_LOGW(TAG, "Chip rev >= 3.0 detected. Set minimum_chip_revision: \"%d.%d\" %s to reduce binary size", + chip_info.revision / 100, chip_info.revision % 100, ESP32_ADVANCED_PATH); #endif } #endif @@ -281,8 +282,9 @@ void Application::process_dump_config_() { // from 5.2+ also supports SRAM1 as IRAM (which was introduced in 5.1) esp_bootloader_desc_t boot_desc; if (esp_ota_get_bootloader_description(nullptr, &boot_desc) == ESP_OK) { - ESP_LOGW(TAG, "Bootloader supports SRAM1 as IRAM (+40KB). " - "Set sram1_as_iram: true under esp32 > framework > advanced"); + ESP_LOGW(TAG, "Bootloader supports SRAM1 as IRAM (+40KB). Set sram1_as_iram: true %s", ESP32_ADVANCED_PATH); + } else { + ESP_LOGW(TAG, "Bootloader too old for SRAM1 as IRAM (+40KB). Flash via USB once to update the bootloader"); } } #endif