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

Protect program pages in flash

Hi

I am using NRF52 with 512KB flash, and with SDK15.2

I am not using DFU

I tried to protect the program flash pages using "sd_flash_protect".

I tried to protect pages:

      1. START page/address- from FLASH_START=0x19000 (which I took from the linker_section_placement_macros in the solution). This is page 0x19

       2.END page/address - fstorage.end_addr-3 pages, which I am using for event log. This is page 0x7A.

when I call to sd_flash_protect(l_iConfigReg[0], l_iConfigReg[1], l_iConfigReg[2], l_iConfigReg[3])

where the parameters to the function are: R0-FF000000, R1-FFFFFFFF, R2-FFFFFFFF, R3-7FFFFFFF

I receive status code NRF_ERROR_NOT_SUPPORTED (6)

If I set l_iConfigReg[2] and l_iConfigReg[3] to 0, the function return with status code NRF_SUCCESS.

If I set l_iConfigReg[2] to 0x1 l_iConfigReg[3] to 0, the function return with status code NRF_ERROR_NOT_SUPPORTED .

So it seems that I can protect only half of the flash

Is there any reason why, and how can I protect the program's flash pages?

Thanks