mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-07-15 08:32:42 +08:00
Merge branch 'feature/hardware_check_task_overflow' into 'master'
esp8266: hardware check task stack overflow See merge request sdk/ESP8266_RTOS_SDK!1237
This commit is contained in:
@ -134,6 +134,21 @@ static inline void soc_wait_int(void)
|
||||
);
|
||||
}
|
||||
|
||||
static inline uint32_t soc_debug_reason(void)
|
||||
{
|
||||
uint32_t tmp;
|
||||
|
||||
__asm__ __volatile__(
|
||||
"movi %0, 0\n"
|
||||
"wsr %0, dbreakc0\n"
|
||||
"rsr.debugcause %0\n"
|
||||
: "=r"(tmp)
|
||||
:
|
||||
: "memory");
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@ -57,7 +57,12 @@ int xt_retaddr_callee(const void *i_pc, const void *i_sp, const void *i_lr, void
|
||||
}
|
||||
|
||||
sp -= stk_size;
|
||||
pc = *(uint32_t *)(sp - 4);
|
||||
|
||||
if (off <= 3) {
|
||||
pc = lr;
|
||||
} else {
|
||||
pc = *(uint32_t *)(sp - 4);
|
||||
}
|
||||
|
||||
*o_sp = (void *)sp;
|
||||
*o_pc = (void *)pc;
|
||||
|
Reference in New Issue
Block a user