3 ms·
I just started playing around with PIO and DMA on a Pico, and it’s really fun just how much you can do on the chip without invoking the main CPU. For context, P
by ghayes 2y ago
I just started playing around with PIO and DMA on a Pico, and it’s really fun just how much you can do on the chip without invoking the main CPU. For context, PIO is a mini-language you can program at the edge of the chip that can directly respond to and write to external IO. DMA allows you to tell the chip to send a signal based on data in memory, and can be programmed to loop or interrupt to limit re-invoking. The linked repo uses these heavily for its fast Ethernet communication.
- stackghost 2y agoFor added clarity, the Pico includes an RP2040 which is where the PIO runs.
- ghayes 2y agoThanks, and you're correct; not sure why you got downvoted for this. For anyone curious here are the data sheets for RP2040 [for original Pico] and RP2350 [for Pico 2], which describe the systems in detail. RP2040: https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf#%5B%7B%22num%22%3A313%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C115%2C841.89%2Cnull%5D https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.p... RP2350: https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf#%5B%7B%22num%22%3A865%2C%22gen%22%3A0%7D%2C%7B%22name%22%3A%22XYZ%22%7D%2C115%2C841.89%2Cnull%5D https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.p...
- SahAssar 2y ago"the Pico includes an RP2040 which is where the PIO runs" to me sounds like it implies either - The original Pico was not built around the RP2040 as its central part ("includes" sounds to me like it was an addition) - The Pico 2 includes a RP2040 (in addition to the RP2350) which runs PIO Neither of which are true. I'm guessing some other people had a similar reaction.