McChubby007 wrote:Why do isr functions need to be in RAM? See here for some info : https://github.com/SuperHouse/esp-open-rtos/issues/559
I don't think I ever read a definitive explanation, but my gut feeling tells me that if the isr is in flash then flash has to be read which itself causes interrupts (or needs interrupt servicing), but at that point NMI has disabled interrupt servicing so the esp8266 just hangs and wdt ensues.
I bet rudy knows the answer?!
As to the definitive answer for when do RTOS/SDK callbacks need to be in RAM? Well the link above seems to indicate some cases do and some do not need it. So treat with caution.
Great!
Thank you for the explanation!
I needed to understand this to know when to use it.
See ... I have two situations and maybe this will help me.
I want your opinion!
I use a timer interrupt in my application to count the times. This interruption (every second) is not on the ram. But it never gave me trouble, should I put her on the ram?
The second situation:
In my product I have the possibility to use modbus communication between some equipment that send me sensor data. It turns out that when I have some equipment connected and picking up data my equipment sometimes times out and resets. These resets sometimes do not happen, but sometimes they happen 5 a day!
My equipment le data from these other equipment, about 5 times per minute.
The errors that occur are:
WDT Hardware
WDT Software
Sometimes very rare: Fatal Exception 29 (there have already been others such as 4 and 3, but 29 is more common)
I do not know what can be, I have already reviewed and can not find any errors. I follow the memory and it does not burst.
Incredible, that the equipment communicates 5 times per second and the error happens in the maximum 5 or 8 times in the day. Resetting my equipment.
I do not know if there's any way the function question is not on the ram. But that came to mind.