You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 6, 2024. It is now read-only.
Any unreserved interrupts can have a handler attached to them, provided their level is <= 3, anything greater requires asm.
This doesn't provide many interrupts (compared to armv7's 256 per core); I believe the esp-idf registers a global interrupt handler for a given interrupt, with the option of sharing that handler. (Edit: I've found some info online that indicates, the interrupt matrix was designed with interrupt sharing in mind, but need to follow up on how that actually works)
Questions
The idf links against the xchal, a small runtime provided by cadence, which already has this table along with all the other vectors. Is there more info on the layout of vecbase? Will we have to link against this xchal too, or will we be able to write our own?
Are the 'reserved' interrupts in that table really reserved (i.e via hardware) or are they just reserved in the IDF for specific usage.
Each xtensa lx6 core has 32 interrupts, 26 of which can be used for peripherals. The remaining 6 are for the on cpu peripherals.
Current understanding
My understanding is as follows:
There is a fixed table of interrupted with fixed priorities(levels), with some reserved, see https://github.com/espressif/esp-idf/blob/c1ab87b58057f0ddb8bad7e15a48a6697e8cda27/components/soc/esp32/include/soc/soc.h#L353-L388
Any unreserved interrupts can have a handler attached to them, provided their level is <= 3, anything greater requires asm.
This doesn't provide many interrupts (compared to armv7's 256 per core); I believe the esp-idf registers a global interrupt handler for a given interrupt, with the option of sharing that handler. (Edit: I've found some info online that indicates, the interrupt matrix was designed with interrupt sharing in mind, but need to follow up on how that actually works)
Questions
The idf links against the xchal, a small runtime provided by cadence, which already has this table along with all the other vectors. Is there more info on the layout of vecbase? Will we have to link against this xchal too, or will we be able to write our own?
Are the 'reserved' interrupts in that table really reserved (i.e via hardware) or are they just reserved in the IDF for specific usage.