I've written an Arduino library for some custom display hardware. It needs to do a 16 bit SPI transaction every 250us or so, and it uses timer interrupts and the standard SPI library. Works great on the mega328 and mega2560 Arduinos.
I'm trying to port it to the ESP8266 (specifically the NodeMCU 1.0/ESP-12E, although I don't think it matters). I figured out how to do timer interrupts on the ESP and got that working, but on that platform all ISR code requires the ICACHE_RAM_ATTR to force the code to execute out of RAM and not flash.
Not a problem for my ISR code, but I'm wondering about the ESP SPI library. I don't suppose it has any ICACHE_RAM_ATTR in it, does it? I have a bad feeling about this ...
Short of making my own local copy of the SPI library and hacking it up to sprinkle ICACHE_RAM_ATTRs around, is there any solution to this problem? I hate to make my own local modifications to standard system libraries.