pico core uses/disables DMA_IRQ_0 since 4.0.1 ? #2394
-
Hi, I just upgraded from arduino-pico 3.9.5 to 4.0.1 and my audio ISR stopped working. After some sleuthing I figured out that if I change it to trigger on DMA_IRQ_1 instead of DMA_IRQ_0, everything works as it should. I see that the Pico SDK itself is under a lot of flux since the RP2350 was announced. So I'm not sure what changes are due to evolution over there vs. in the arduino-pico package itself. But it makes me wonder what library or other thing is now using DMA in a different way than before? I also wonder, is there any official list of already allocated resources (dma channels, pwm channels, irqs) that we should avoid using in our sketches? Maybe there's some release notes I need to catch up on. Thanks for any info, and again thanks very much for this awesome package. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
The core itself really has no changes to speak of, other than simple compatibility ones, for the 2.0.0 SDK update. See #2336 . The SDK internals, I really didn't dig into it because all of the DMAs and IRQs we use internally "just worked" with no changes. I always use the |
Beta Was this translation helpful? Give feedback.
The core itself really has no changes to speak of, other than simple compatibility ones, for the 2.0.0 SDK update. See #2336 . The SDK internals, I really didn't dig into it because all of the DMAs and IRQs we use internally "just worked" with no changes.
I always use the
dma_claim_unused_channel
call to pick a DMA, not hardcode it, so even if they did pick one for something (which would surprise me but their code is out there to double check) it wouldn't matter because I'd automatically pick another one...