esp-rs / esp-hal

no_std Hardware Abstraction Layers for ESP32 microcontrollers
https://docs.esp-rs.org/esp-hal/
Apache License 2.0
718 stars 195 forks source link

Reduce / eliminate cache misses in interrupt handling #1747

Open bjoernQ opened 3 months ago

bjoernQ commented 3 months ago

Follow up on #1162 - there are some more insights in the linked issue

Remaining tasks

There is even more to put into RAM to avoid hitting flash. To really see where code accesses flash its best to look at disassembled code

We need to make this opt-in since it will decrease remaining useable RAM which might be a problem for some applications.

Given we don't want to introduce more features this means need #1111 first

MabezDev commented 1 week ago

Now with some configuration options we can opt into placing more of these things into IRAM

bugadani commented 1 week ago

We might want to optimize IRAM code to size. The attribute exists in nightly, so if we want a config to enable nightly-specific features we can do this automagically for all IRAM code.