This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Fstorage Address Range

Using SD S140 7.2.0 SDK 17 (nRF52840).

I cannot write to internal flash addresses above 0x78000.

I am calling nrf_fstorage_init setting start_addr=0x68000 and end_addr=0xF0FFF.

When using nrf_fstorage_write to for addresses above 0x78000 all seems to go well but no data is actually written (no hard fault or ASSERT or bad return value).

0x78000 seems to be the DFU start address on the x32 MCU. But we DO use x40 settings with S140 and setting proper address range on the ICF file (using IAR).

Any ideas?

BTW - when writing directly using the flash registers (NRF_NVMC->CONFIG) i DO manage to write to this memory space.

This is the ICF (linker) file:

define symbol __ICFEDIT_region_SD_start__ = 0x00000;
define symbol __ICFEDIT_region_SD_end__ = 0x26FFF;
define symbol __ICFEDIT_region_ROM_start__ = 0x27000;
define symbol __ICFEDIT_region_ROM_end__ = 0x67FFF;
define symbol __ICFEDIT_region_DROM_start__ = 0x68000;
define symbol __ICFEDIT_region_DROM_end__ = 0xF0FFF;
define symbol __ICFEDIT_region_DFU_start__ = 0xF1000;
define symbol __ICFEDIT_region_DFU_end__ = 0xFdfff;
define symbol __ICFEDIT_region_DDFU_start__ = 0xFF000;
define symbol __ICFEDIT_region_DDFU_end__ = 0xFFFFF;

Parents Reply Children
Related