Storing Persistent User information in Flash in a Mesh device

Greetings to my fellow NDZ colleagues,

We have developed an ecosystem of devices which operate in a sensor network in BT Mesh. We are using nRF52840 and our code-base is nRF5 SDK 16.0.0 and nrf5 SDK for Mesh v4.2.0.

Certain devices need to store persistent calibration data, which must be kept even after updating the firmware via DFUOTA.
Right now we get this information via Mesh and write it to the customer[0-31]  entries of the UICR. The issue emerges when we want to write a new set of calibration constants:

a) If we want to do corrections to the calibration and overwrite this information, we need to erase and rewrite the UICR, I have tried that to no avail, I can not erase and write again from the application. Is it possible to re-write the UICR from the application?

or (and this would perhaps be preferable)

b) Is there an area of the Flash memory which we would use to store such persistent app data that would survive DFUOTA, without having to reprogram and rebuild the bootloader?

c) Anyone has any other idea?


Thank you so much!

Regards,

//EA

Parents Reply Children
No Data
Related