raspberrypi / pico-sdk

BSD 3-Clause "New" or "Revised" License
3.63k stars 901 forks source link

Software IRQs missing from RP2350 SVD #1898

Open pta2002 opened 1 week ago

pta2002 commented 1 week ago

According to the RP235x datasheet, there are 6 spare IRQs which can be used for software interrupts:

IRQ Interrupt Source
46 SPAREIRQ_IRQ_0
47 SPAREIRQ_IRQ_1
48 SPAREIRQ_IRQ_2
49 SPAREIRQ_IRQ_3
50 SPAREIRQ_IRQ_4
51 SPAREIRQ_IRQ_5

However, these are not defined in the SVD, meaning things like the rp235x-pac rust crate don't expose them. (see also: https://github.com/rp-rs/rp235x-pac/issues/4)

lurch commented 1 week ago

ping @matiasilva (IIRC there's also some "spare" IRQs on RP2040 which can be used for software interrupts? Ah yes, RP2040 datasheet says "The core can still be forced to enter the relevant interrupt handler by writing bits 26 to 31 in the NVIC ISPR register")

pta2002 commented 1 week ago

ping @matiasilva (IIRC there's also some "spare" IRQs on RP2040 which can be used for software interrupts? Ah yes, RP2040 datasheet says "The core can still be forced to enter the relevant interrupt handler by writing bits 26 to 31 in the NVIC ISPR register")

Yes, as far as I can tell those are also not on the RP2040 SVD, but they are also not named on the datasheet there.