-
Notifications
You must be signed in to change notification settings - Fork 32
SPI Flash layout
This is the current planned layout of the 8MB external flash.
The bottom 1MB is used to store two firmware images for OTA updates.
The rest of the flash is separated into two separate filesystem partitions. The exact size of both partitions is still to be determined.
The first partition is used to store essential files required for firmware operation. The end user of the PineTime is not supposed to have direct influence over this partition and should not be able to completely fill the partition.
The second file system partition will be used to store non-critical data. This can include data such as Bluetooth bond information and/or alarm timer data. At some point it might be possible to also store downloadable applications in this partition.
The firmware images will never need more than 512KB per image as long as an nrf52832 is used for the MCU. These two slots are not expected to ever require more than 512KB per slot.
The system data should be relative small, 1-2MB max and only contain essential data. By placing the user data as last it should be fairly easy to add support for different flash chips without having to modify every single offset define, growing the user data to occupy the left over space is enough.
Due to the hard separation of these partitions, the effects of any wear spreading algorithm employed by the file system logic is reduced. Unfortunately there is not really a work around for this except to go back to using a single flat file system.