Looks like Espressif SDK started to use NMI recently (starting with v.1.1.0), if you're using that or later SDK version that may be the reason.
Thanks, that was really helpful. Actually, I'm running the current RTOS SDK, and according to the commit comments this has recently been sync'ed to the SDK v1.1.1.
And yes, I can confirm that the interrupts increase dramatically if I put a flood ping via WiFi to the chip. If I disable WiFi (wifi_set_opmode(NULL_MODE)), the effect is gone.
So all in all, it seems to be an NMI, and it seems that WiFi stuff is triggering it.
I'm not that familiar with the xtensa architecture, do you see any way I could possible work around this? All I'm trying to do is to get complete timing control for about 50us. Do you happen to know if there is a way to mask the NMI (even though the name implies probably not)? Or some sort of dirty trick like rewriting the interrupt vector for the NMI for the duration of my procedure?
-Roland