Merge branch 'bugfix/wdt_reset_info_for_cpu1_not_correct' into 'master'

bugfix:Fix bug that wdt reset information for CPU1 was not correct

See merge request !823
This commit is contained in:
Jiang Jiang Jian 2017-06-06 14:02:41 +08:00
commit bb6189b335
2 changed files with 11 additions and 4 deletions

View File

@ -766,12 +766,11 @@ static void uart_console_configure(void)
#endif // CONFIG_CONSOLE_UART_NONE
}
static void wdt_reset_info_enable(void)
static void wdt_reset_cpu0_info_enable(void)
{
//We do not reset core1 info here because it didn't work before cpu1 was up. So we put it into call_start_cpu1.
DPORT_REG_SET_BIT(DPORT_PRO_CPU_RECORD_CTRL_REG, DPORT_PRO_CPU_PDEBUG_ENABLE | DPORT_PRO_CPU_RECORD_ENABLE);
DPORT_REG_CLR_BIT(DPORT_PRO_CPU_RECORD_CTRL_REG, DPORT_PRO_CPU_RECORD_ENABLE);
DPORT_REG_SET_BIT(DPORT_APP_CPU_RECORD_CTRL_REG, DPORT_APP_CPU_PDEBUG_ENABLE | DPORT_APP_CPU_RECORD_ENABLE);
DPORT_REG_CLR_BIT(DPORT_APP_CPU_RECORD_CTRL_REG, DPORT_APP_CPU_RECORD_ENABLE);
}
static void wdt_reset_info_dump(int cpu)
@ -841,5 +840,5 @@ static void wdt_reset_check(void)
wdt_reset_info_dump(0);
wdt_reset_info_dump(1);
}
wdt_reset_info_enable();
wdt_reset_cpu0_info_enable();
}

View File

@ -170,6 +170,13 @@ void IRAM_ATTR call_start_cpu0()
}
#if !CONFIG_FREERTOS_UNICORE
static void wdt_reset_cpu1_info_enable(void)
{
DPORT_REG_SET_BIT(DPORT_APP_CPU_RECORD_CTRL_REG, DPORT_APP_CPU_PDEBUG_ENABLE | DPORT_APP_CPU_RECORD_ENABLE);
DPORT_REG_CLR_BIT(DPORT_APP_CPU_RECORD_CTRL_REG, DPORT_APP_CPU_RECORD_ENABLE);
}
void IRAM_ATTR call_start_cpu1()
{
asm volatile (\
@ -188,6 +195,7 @@ void IRAM_ATTR call_start_cpu1()
uart_tx_switch(CONFIG_CONSOLE_UART_NUM);
#endif
wdt_reset_cpu1_info_enable();
ESP_EARLY_LOGI(TAG, "App cpu up.");
app_cpu_started = 1;
start_cpu1();