meta data for this page
FDS
FDS_ERR_NO_PAGES = 34314
During fds_init()
.
For example, when 2 pages x 4096 B are configured, FDS try to put them at end of available for app flash:
- with bootloader: 2 pages just before bootloader area starts (bootloader is located at end of flash)
- w/o bootloader: 2 pages at end of flash.
FDS implements safety check if flash area is really free. It expects clean pages (0xFF
) or pages with valid
FDS signatures.
If ROM code is too big and overlaps on pages fds_init()
return error FDS_ERR_NO_PAGES
.
It is common problem on small devices like nRF52820 when softdevice is used. To detect problem during compile time, simply define correct sizes in linker script (nRF52820):
MEMORY { mbr (rx) : ORIGIN = 0x00000, LENGTH = 0x1000 sd (rx) : ORIGIN = 0x01000, LENGTH = 0x18000 FLASH (rx) : ORIGIN = 0x19000, LENGTH = 0x1D000 fds (r) : ORIGIN = 0x36000, LENGTH = 0x2000 bootloader (rx) : ORIGIN = 0x38000, LENGTH = 0x6000 mbr_params_page (r) : ORIGIN = 0x3E000, LENGTH = 0x1000 settings_page (r) : ORIGIN = 0x3F000, LENGTH = 0x1000 RAM (rwx) : ORIGIN = 0x20001a40, LENGTH = 0x65c0 /* UICR.CUSTOMER[0] start address */ uicr_serial_number_addr (r) : ORIGIN = 0x10001080, LENGTH = 0x14 }