August 8, 2023

Raspberry Pi Pico - Flash

The schematic shows a W25Q16JVUXIQ device.

This is a 16 MB (megabit) 3 volt SPI flash device from Winbond. In other words 2 megabytes of storage.

Currently my Kyu RTOS is about 248K in size (including TCP networking) as compiled for the 32 bit orange pi. Given thumb encoding (which itself might yield some surprises) the Kyu footprint would end up well under 200K with TCP networking left out. This could be a fun project.

Note that the RP2040 can support up to a 128 MB flash (16 megabytes of storage). I am unaware of which products provide bigger flash chips.

What about that XIP?

See 2.6.3.1 in the datasheet

We can run straight from flash without copying into RAM, albeit with a performance penalty. How much address space does XIP support?

The following project states that up to a 16 MB flash device (2M bytes) is supported by the XIP hardwre. In other words it supports 24 address bits.
Fantastic!
There is of course a signficant speed penalty. The XIP hardware can use some SRAM (16K) as a cache for XIP


Have any comments? Questions? Drop me a line!

Tom's electronics pages / tom@mmto.org