fix(esp_system): Fix mixing logs, remove early info logs for 2nd CPU

Fixes mixing logs when two cores use esp_rom_printf
pull/9673/merge
KonstantinKondrashov 2023-09-15 23:10:41 +08:00 zatwierdzone przez BOT
rodzic aa3b9df318
commit 28b8a5d9b4
3 zmienionych plików z 6 dodań i 7 usunięć

Wyświetl plik

@ -233,7 +233,7 @@ void IRAM_ATTR call_start_cpu1(void)
#endif #endif
s_cpu_up[1] = true; s_cpu_up[1] = true;
ESP_EARLY_LOGI(TAG, "App cpu up."); ESP_EARLY_LOGD(TAG, "App cpu up");
// Clear interrupt matrix for APP CPU core // Clear interrupt matrix for APP CPU core
core_intr_matrix_clear(); core_intr_matrix_clear();
@ -271,7 +271,7 @@ static void start_other_core(void)
abort(); abort();
} }
ESP_EARLY_LOGI(TAG, "Starting app cpu, entry point is %p", call_start_cpu1); ESP_EARLY_LOGD(TAG, "Starting app cpu, entry point is %p", call_start_cpu1);
#if CONFIG_IDF_TARGET_ESP32 && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP #if CONFIG_IDF_TARGET_ESP32 && !CONFIG_APP_BUILD_TYPE_PURE_RAM_APP
Cache_Flush(1); Cache_Flush(1);
@ -315,7 +315,6 @@ static void start_other_core(void)
for (int i = 0; i < SOC_CPU_CORES_NUM; i++) { for (int i = 0; i < SOC_CPU_CORES_NUM; i++) {
cpus_up &= s_cpu_up[i]; cpus_up &= s_cpu_up[i];
} }
//TODO: IDF-7891, check mixing logs
esp_rom_delay_us(100); esp_rom_delay_us(100);
} }
} }
@ -571,7 +570,7 @@ void IRAM_ATTR call_start_cpu0(void)
s_cpu_up[0] = true; s_cpu_up[0] = true;
#endif #endif
ESP_EARLY_LOGI(TAG, "Pro cpu up."); ESP_EARLY_LOGD(TAG, "Pro cpu up");
#if SOC_CPU_CORES_NUM > 1 // there is no 'single-core mode' for natively single-core processors #if SOC_CPU_CORES_NUM > 1 // there is no 'single-core mode' for natively single-core processors
#if !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE #if !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE

Wyświetl plik

@ -96,7 +96,7 @@ void esp_startup_start_app(void)
port_start_app_hook(); port_start_app_hook();
} }
ESP_EARLY_LOGI(APP_START_TAG, "Starting scheduler on CPU0"); ESP_EARLY_LOGD(APP_START_TAG, "Starting scheduler on CPU0");
vTaskStartScheduler(); vTaskStartScheduler();
} }
@ -130,7 +130,7 @@ void esp_startup_start_app_other_cores(void)
// Initialize the cross-core interrupt on CPU1 // Initialize the cross-core interrupt on CPU1
esp_crosscore_int_init(); esp_crosscore_int_init();
ESP_EARLY_LOGI(APP_START_TAG, "Starting scheduler on CPU%d", xPortGetCoreID()); ESP_EARLY_LOGD(APP_START_TAG, "Starting scheduler on CPU%d", xPortGetCoreID());
xPortStartScheduler(); xPortStartScheduler();
abort(); // Only get to here if FreeRTOS somehow very broken abort(); // Only get to here if FreeRTOS somehow very broken
} }

Wyświetl plik

@ -14,7 +14,7 @@ from pytest_embedded_idf.dut import IdfDut
@pytest.mark.generic @pytest.mark.generic
@pytest.mark.parametrize('config', ['pure_ram',], indirect=True,) @pytest.mark.parametrize('config', ['pure_ram',], indirect=True,)
def test_pure_ram_loadable_app(dut: IdfDut) -> None: def test_pure_ram_loadable_app(dut: IdfDut) -> None:
dut.expect('app_start: Starting scheduler', timeout=10) dut.expect('main_task: Calling app_main()', timeout=10)
dut.expect('Time since boot: 3 seconds...', timeout=10) dut.expect('Time since boot: 3 seconds...', timeout=10)