mirror of
https://github.com/espressif/esp-idf.git
synced 2024-09-20 00:36:01 -04:00
system: moved placement of disable rom log efuse in startup flow
Functions used for burning this efuse would log, but at this point esp_log is not initialized. Moved to a later point in the startup process. Closes https://github.com/espressif/esp-idf/issues/9457
This commit is contained in:
parent
56a89b920d
commit
a421e30cf2
@ -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();
|
||||
}
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user