Internal flash memory operations when softdevice present

Hi everyone,

First, my current environment is SDK 17.1, s332 v7.0.1 and nrf52832.

We recently have migrated from SDK 14 and we are still facing some problems, we have some doubts about how work with the internal flash memory of Nordic. Our current layout is:

  • Bootloader: [ROM] 0x71000- 0xD000 [RAM] 0x20002C00- 0xD380
  • Main application: [ROM]0x30000 - 0x1B000 [RAM] 0x20002F70- 0xD090

And we are using one page memory from internal configuration, starting on 0x70000. The problem comes when we try to erase a page after the first booting.

  • We start the application
  • We write some data above 0x70000.
  • We switch off the unit.
  • We start again the unit.
  • We read what we wrote, and check that it is the same.
  • We erase a page - > Not possible.

We are using the following function sd_flash_page_erase, we also have tried fstorage module, but it does not work for us neither. We saw that it is some flash protection on secure bootloader side, we have tried to disable every protection, but it continues without working.

Any idea o recommendation?

Is there any flash protection that we should know?

Which is the better approach from writing into the internal flash memory when you are using secure bootloader, main app and Softdevice?

We will experience some BLE connectivity problems due to the flash operations timing?

Thank you very much,

Javier

Related