While diagnosing the build failure of #2811, I discovered that for espruino pico, there is actually 320KiB for flash, but the build (when successful) reports space free against 384KiB. This appears to be due to using FLASH_TEXT as a section name, while the script (build_memory_info.py) uses FLASH_FIRMWARE (indicating it's the current best practice) if available, or FLASH otherwise; but FLASH includes e.g., bootloader and internal filesystem data.
While diagnosing the build failure of #2811, I discovered that for espruino pico, there is actually 320KiB for flash, but the build (when successful) reports space free against 384KiB. This appears to be due to using FLASH_TEXT as a section name, while the script (build_memory_info.py) uses FLASH_FIRMWARE (indicating it's the current best practice) if available, or FLASH otherwise; but FLASH includes e.g., bootloader and internal filesystem data.