diff --git a/components/esp_system/port/cpu_start.c b/components/esp_system/port/cpu_start.c index 93cab16fcc..e8f9fa3fa9 100644 --- a/components/esp_system/port/cpu_start.c +++ b/components/esp_system/port/cpu_start.c @@ -96,18 +96,6 @@ #endif #endif // CONFIG_APP_BUILD_TYPE_ELF_RAM -// Set efuse ROM_LOG_MODE on first boot -// -// For CONFIG_BOOT_ROM_LOG_ALWAYS_ON (default) or undefined (ESP32), leave -// ROM_LOG_MODE undefined (no need to call this function during startup) -#if CONFIG_BOOT_ROM_LOG_ALWAYS_OFF -#define ROM_LOG_MODE ESP_EFUSE_ROM_LOG_ALWAYS_OFF -#elif CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW -#define ROM_LOG_MODE ESP_EFUSE_ROM_LOG_ON_GPIO_LOW -#elif CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH -#define ROM_LOG_MODE ESP_EFUSE_ROM_LOG_ON_GPIO_HIGH -#endif - #include "esp_private/startup_internal.h" #include "esp_private/system_internal.h" @@ -621,7 +609,7 @@ void IRAM_ATTR call_start_cpu0(void) #if CONFIG_SPI_FLASH_SIZE_OVERRIDE int app_flash_size = esp_image_get_flash_size(fhdr.spi_size); if (app_flash_size < 1 * 1024 * 1024) { - ESP_LOGE(TAG, "Invalid flash size in app image header."); + ESP_EARLY_LOGE(TAG, "Invalid flash size in app image header."); abort(); } bootloader_flash_update_size(app_flash_size); @@ -641,9 +629,5 @@ void IRAM_ATTR call_start_cpu0(void) } #endif -#ifdef ROM_LOG_MODE - esp_efuse_set_rom_log_scheme(ROM_LOG_MODE); -#endif - SYS_STARTUP_FN(); } diff --git a/components/esp_system/startup.c b/components/esp_system/startup.c index 139ae8b6a2..001d8cf56a 100644 --- a/components/esp_system/startup.c +++ b/components/esp_system/startup.c @@ -81,6 +81,19 @@ #error "System has been configured to run on multiple cores, but target SoC only has a single core." #endif +// Set efuse ROM_LOG_MODE on first boot +// +// For CONFIG_BOOT_ROM_LOG_ALWAYS_ON (default) or undefined (ESP32), leave +// ROM_LOG_MODE undefined (no need to call this function during startup) +#if CONFIG_BOOT_ROM_LOG_ALWAYS_OFF +#define ROM_LOG_MODE ESP_EFUSE_ROM_LOG_ALWAYS_OFF +#elif CONFIG_BOOT_ROM_LOG_ON_GPIO_LOW +#define ROM_LOG_MODE ESP_EFUSE_ROM_LOG_ON_GPIO_LOW +#elif CONFIG_BOOT_ROM_LOG_ON_GPIO_HIGH +#define ROM_LOG_MODE ESP_EFUSE_ROM_LOG_ON_GPIO_HIGH +#endif + + uint64_t g_startup_time = 0; #if SOC_APB_BACKUP_DMA @@ -331,6 +344,10 @@ static void do_core_init(void) esp_secure_boot_init_checks(); #endif +#ifdef ROM_LOG_MODE + esp_efuse_set_rom_log_scheme(ROM_LOG_MODE); +#endif + #if CONFIG_ESP_XT_WDT esp_xt_wdt_config_t cfg = { .timeout = CONFIG_ESP_XT_WDT_TIMEOUT,