RP2350 Partitions
Description
As the new RP2350 chip now supports partition tables (5.1.2 in the datasheet) and writing to them for A/B versioning and more, this should be supported by micropython.
It could be implemented like the ESP32 Partitions and probably should be for feature parity.
Code Size
Not sure, but putting it behind a compiler toggle sure wouldn't hurt. But since the Pico has plenty of storage anyway, it could also just be enabled by default.
Implementation
I hope the MicroPython maintainers or community will implement this feature, I intend to implement this feature and would submit a Pull Request if desirable
Code of Conduct
Yes, I agree
rp2: Support for new RP2350 PIO instructions in the `@rp2.asm_pio` assembler
Description
The RP2350 adds several new PIO instructions/options compared to the RP2040 - currently they're not supported by MicroPython's @rp2.asm_pio assembler, so it's difficult to use them under MicroPython.
https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf
The PIO changes are listed in Section 11.1.1. ('Changes from RP2040') - note that the first change is:
DBG_CFGINFO.VERSIONindicates the PIO version, to allow PIO feature detection at runtime.
This 4-bit field was reserved-0 on RP2040 (indicating version 0), and reads as 1 on RP2350.
Specifically I'm interested in the new variants of mov that allow random-access to the FIFO queue with indexed arguments:
- mov rxfifo[y], isr
- mov rxfifo[<index>], isr
- mov osr, rxfifo[y]
- mov osr, rxfifo[<index>]
where:
y: The literal token "y", indicating the RX FIFO entry is indexed by the Y register.<index>: A value (see Section 11.3.2) specifying the RX FIFO entry to write (valid range 0-3).
It's not currently possible to express these with the Micropython mov() assembler function, so far as I'm aware.
Support for the rp2040 was originally added to MicroPython with:
- https://github.com/micropython/micropython/pull/6791
See also:
- https://github.com/raspberrypi/pico-feedback/issues/437
Code Size
Random-access to the FIFO queue is a pretty substantial upgrade for PIO! I really do not know how large/difficult the implementation would be though.
Implementation
I hope the MicroPython maintainers or community will implement this feature
Code of Conduct
Yes, I agree