====== 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 }