mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-08-05 22:11:04 +08:00
feat(system): Add global ISR swith
This commit is contained in:
@ -50,7 +50,7 @@
|
||||
#define SET_STKREG(r,v) sp[(r) >> 2] = (uint32_t)(v)
|
||||
#define PORT_ASSERT(x) do { if (!(x)) {ets_printf("%s %u\n", "rtos_port", __LINE__); while(1){}; }} while (0)
|
||||
|
||||
extern char NMIIrqIsOn;
|
||||
extern uint8_t NMIIrqIsOn;
|
||||
static int SWReq = 0;
|
||||
|
||||
uint32_t cpu_sr;
|
||||
@ -250,12 +250,22 @@ void show_critical_info(void)
|
||||
|
||||
void IRAM_ATTR vPortETSIntrLock(void)
|
||||
{
|
||||
ETS_INTR_LOCK();
|
||||
if (NMIIrqIsOn == 0) {
|
||||
vPortEnterCritical();
|
||||
do {
|
||||
REG_WRITE(INT_ENA_WDEV, WDEV_TSF0_REACH_INT);
|
||||
} while(REG_READ(INT_ENA_WDEV) != WDEV_TSF0_REACH_INT);
|
||||
}
|
||||
}
|
||||
|
||||
void IRAM_ATTR vPortETSIntrUnlock(void)
|
||||
{
|
||||
ETS_INTR_UNLOCK();
|
||||
if (NMIIrqIsOn == 0) {
|
||||
extern uint32_t WDEV_INTEREST_EVENT;
|
||||
|
||||
REG_WRITE(INT_ENA_WDEV, WDEV_INTEREST_EVENT);
|
||||
vPortExitCritical();
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user