mirror of
https://github.com/espressif/esp-idf
synced 2025-03-10 01:29:21 -04:00
Merge branch 'bugfix/app_cpu_reset' into 'master'
esp32: don’t reset APP CPU if it was already reset by OpenOCD See merge request !848
This commit is contained in:
commit
cd89a653e4
@ -142,11 +142,16 @@ void IRAM_ATTR call_start_cpu0()
|
|||||||
Cache_Flush(1);
|
Cache_Flush(1);
|
||||||
Cache_Read_Enable(1);
|
Cache_Read_Enable(1);
|
||||||
esp_cpu_unstall(1);
|
esp_cpu_unstall(1);
|
||||||
//Enable clock gating and reset the app cpu.
|
// Enable clock and reset APP CPU. Note that OpenOCD may have already
|
||||||
DPORT_SET_PERI_REG_MASK(DPORT_APPCPU_CTRL_B_REG, DPORT_APPCPU_CLKGATE_EN);
|
// enabled clock and taken APP CPU out of reset. In this case don't reset
|
||||||
DPORT_CLEAR_PERI_REG_MASK(DPORT_APPCPU_CTRL_C_REG, DPORT_APPCPU_RUNSTALL);
|
// APP CPU again, as that will clear the breakpoints which may have already
|
||||||
DPORT_SET_PERI_REG_MASK(DPORT_APPCPU_CTRL_A_REG, DPORT_APPCPU_RESETTING);
|
// been set.
|
||||||
DPORT_CLEAR_PERI_REG_MASK(DPORT_APPCPU_CTRL_A_REG, DPORT_APPCPU_RESETTING);
|
if (!DPORT_GET_PERI_REG_MASK(DPORT_APPCPU_CTRL_B_REG, DPORT_APPCPU_CLKGATE_EN)) {
|
||||||
|
DPORT_SET_PERI_REG_MASK(DPORT_APPCPU_CTRL_B_REG, DPORT_APPCPU_CLKGATE_EN);
|
||||||
|
DPORT_CLEAR_PERI_REG_MASK(DPORT_APPCPU_CTRL_C_REG, DPORT_APPCPU_RUNSTALL);
|
||||||
|
DPORT_SET_PERI_REG_MASK(DPORT_APPCPU_CTRL_A_REG, DPORT_APPCPU_RESETTING);
|
||||||
|
DPORT_CLEAR_PERI_REG_MASK(DPORT_APPCPU_CTRL_A_REG, DPORT_APPCPU_RESETTING);
|
||||||
|
}
|
||||||
ets_set_appcpu_boot_addr((uint32_t)call_start_cpu1);
|
ets_set_appcpu_boot_addr((uint32_t)call_start_cpu1);
|
||||||
|
|
||||||
while (!app_cpu_started) {
|
while (!app_cpu_started) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user