bootloader, esp32: add workaround for Tensilica erratum 572

If zero-overhead loop buffer is enabled, under certain rare conditions
when executing a zero-overhead loop, the CPU may attempt to execute an invalid instruction. Work around by disabling the buffer.
This commit is contained in:
Ivan Grokhotkov
2018-11-01 11:30:48 +08:00
committed by bot
parent c9a873c034
commit 964f5a91f7
4 changed files with 23 additions and 0 deletions

View File

@@ -124,6 +124,7 @@ void IRAM_ATTR call_start_cpu0()
RESET_REASON rst_reas[2];
#endif
cpu_configure_region_protection();
cpu_init_memctl();
//Move exception vectors to IRAM
asm volatile (\
@@ -249,6 +250,7 @@ void IRAM_ATTR call_start_cpu1()
ets_set_appcpu_boot_addr(0);
cpu_configure_region_protection();
cpu_init_memctl();
#if CONFIG_CONSOLE_UART_NONE
ets_install_putc1(NULL);