The datasheets for the Argon, Boron, and Xenon show an on-board additional 4MB SPI flash, if I’m not mistaken wasn’t this originally 2MB?
More importantly, do we have access to this 4MB SPI flash? All of it, some of it? How do we access it? I know the Photon and Electron have the EEPROM libary which emulates 2047 bytes, but there’s no mention about the Mesh devices.
The mesh devices support the same EEPROM calls as before. However, the virtual EEPROM is 4 K bytes
Also, internally it’s not implemented as two flash sectors; it’s just a file in the littlefs file system, which uses a portion of the external QSPI flash.
The vast majority of the external QSPI flash is reserved:
External SPI Flash Layout Overview (DFU offset: 0x80000000)
OTA (1500KB, @0x00289000)
Reserved (420KB, @0x00220000)
FAC (128KB, @0x00200000) (that’s the factory backup user firmware image)
LittleFS (2M, @0x00000000)
It is possible in the future that a portion of the Reserved block could be made available, but the more likely scenario is that the LittleFS would be made available to user firmware to store data as files.
Thanks for the information but as you said earlier the EEPROM calls are implemented as file in the littlefs file system so why not simply increase the file size so the EEPROM is bigger?
The POSIX file system is available in 2.0.0-rc.1 for Boron and Argon. The documentation for it has not been turned on for these devices yet, but if you set the device type in the upper left corner of the Firmware API reference to Tracker SoM the POSIX file system API will appear until the 2.0.0 documentation is released and then it will show up for Boron and Argon.