High level interrupt (5) and NMI issues

OSCPUDEV
Posts: 20
Joined: Fri Jun 23, 2023 7:02 pm

Re: High level interrupt (5) and NMI issues

Postby OSCPUDEV » Wed Aug 21, 2024 4:37 pm

OK, so who handles the Arduino ESP stuff?

I looked at xtensa_vectors.S code and see how the interrupt handler works... and I can see why it takes 220ns before the high level interrupt routine is called. Can you tell me how I can determine WHERE (memory address) the interrupt table is located? It seems from looking at that code that the _xtos_interrupt_table is where interrupts are registered. Perhaps if I can just change the table entry I can set the address of the NMI ISR? I also need this ability because I have several different interrupt handlers that need to be used based on conditions. I don't want just a single routine pointed to that gets set at compile time. I need to be able to change that.

Thanks!

OSCPUDEV
Posts: 20
Joined: Fri Jun 23, 2023 7:02 pm

Re: High level interrupt (5) and NMI issues

Postby OSCPUDEV » Thu Aug 22, 2024 7:44 pm

Just a follow-up! The problem with not being able to use NMI is apparently a known bug in the ESP-IDF! This has been reported:

https://github.com/espressif/esp-idf/issues/13629

There is a working around, but is only for v5.2.1 of the ESP-IDF core, not the version that the Arduino core is using:

https://github.com/user-attachments/fil ... 2767.patch

It seems that 5.2.1 broke the ability to add the interrupt at all, and anything prior to v4.4 would not override the weak casting.

Who is online

Users browsing this forum: Google [Bot] and 121 guests