kopia lustrzana https://github.com/espressif/esp-idf
fix(esp_system): Fix mixing logs, remove early info logs for 2nd CPU
Fixes mixing logs when two cores use esp_rom_printfpull/9673/merge
rodzic
aa3b9df318
commit
28b8a5d9b4
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue