-
(1024*1024)-(10*4096)
the bootloader is at 0xf7000 not 0xf8(?) https://github.com/espruino/Espruino/blob/master/targetlibs/nrf5x_15/nrf5x_linkers/secure_bootloader_gcc_nrf52.ld#L8
so FDS should start at at 0xf5000 = (1024*1024)-((9+2)*4096)
orpeek32(0x10001014)-2*4096
we need to load the info out of them at boot time somehow?
Was expecting that the code here does it
https://github.com/espruino/Espruino/blob/1f80e6e69b0435d5d960ac11e9f05c46158c34f6/targets/nrf5x/bluetooth.c#L2264
at least that line is failing when FDS storage is full/corrupted and it clears it and retries to continue
As mentioned, on Bangle.js 2 we use external flash so we don't touch internal, but even when we do for other boards there is no overlap.
It might be worth checking the contents of the FD pages - 2x 4096 byte pages, starting at
(1024*1024)-(10*4096)
and see if they actually change after reboot (I don't think they will). If not it might be that we need to load the info out of them at boot time somehow?However I just tested and bonding isn't reset for me...
nRF Connect
on AndroidSo I think something else must be broken in your case?