I came across this in the PicoMite user manual. Do we know if the PSRAM in the PicoCalc board is configured accordingly, to be used by PicoMite? Or if it’s possible?
in this code , there is a psram testing part
maybe can be a little help
Thanks. Unfortunately I’m waiting for my PicoCalc and so can’t do much except read through manuals, documentation and forums.
I’ll let you know when it arrives and I run the tests.
It’s not configured in PicoMite for the PicoCalc. (At least it’s not set in the default options.) And I’m not sure which pin should be set, or if the PSRAM in the PicoCalc can be accessed by PicoMite.
The helloworld sample doesn’t reference a GPIO pin, so it’s unclear what to use with the OPTION PSRAM PIN command in PicoMite.
People have been using the PSRAM with MicroPython and some of the other firmware though.
PSRAM_PIN_CS=20
PSRAM_PIN_SCK=21
PSRAM_PIN_MOSI=2
PSRAM_PIN_MISO=3
these are the GPIO pins used by the PSRAM testing part
RPi pico/pico 2 datasheets indicate that one QSPI interface is available to the microcontroller. In each case, the QSPI is hard-wired to a flash chip and not available as user GPIO. So the flash exists and can be used (xip), but its on the RPi pico board, not in the Picocalc circuitry. Replacing this chip would require some serious soldering skills!!
As you can see the PSRAM is connected for QSPI setup, so it’s possible to use QSPI but it’s should be done in PIO like the original implementation for SPI .
QSPI support is on the roadmap for the future. If you plan on using QSPI, SIO[0] through SIO[3] must be on consecutive GPIOs.
So we should wait for QSPI implementation or do it ourselfes.
PS
Ah, QSPI code is already in the repo, I did not try it, so don’t know if it works
The RP2350 supports two devices connected to the QSPI bus. The flash uses the QSPI-SS pin as the chip select. The second device can use one of a small range of GPIO pins as the chip select. Like the flash, the second device which is typically PSRAM is memory mapped into the RP2350 address space so can be accessed with normal memory read/write instructions.
Looking at the MMBasic code, it appears that if a PSRAM pin is set the second device can be used as extra memory. However, this is for a device connected to QSPI. A device accessed via PIO is not memory mapped and would have to be used in a different way.
It’s better to reference internal QSPI as QMI, external QSPI as PIO implementation of the protocol.
I completely missed that there’s another flash chip available on the PicoCalc, thanks for the correction!
But wouldn’t you need to implement swap/page files in software to use it as general purpose ram?
depends on what software you are using, I am porting Nuttx on PicoCacl and want to use PSRAM as user heap in future.