As you notice right now it is impossible to use both NVS and FCB out of the box. So you need a hack.
I think finally this problem should be resolved by introduction of dedicate flash slot which are described via DTS (similar to the current one, the STORAGE_PARTITION).
STORAGE_PARTITION might be kept for situation where it is only storage partition.
Unfortunately I don’t have time right now to improve this. Any contribution and further comment regard this are highly welcome 😃
From: devel@... [mailto:devel@...] On Behalf Of vikrant8051
Sent: Monday, June 04, 2018 4:50 PM
To: devel@...; users@...
Cc: Laczen JMS <laczenjms@...>
Subject: [Zephyr-devel] How to configure #NVS if #FCB in used for #BluetoothMesh ?
I wanna use #NVS to save #BluetoothMesh Models states.
As per current implementation, #BluetoothMesh stack is using #FCB for persistent storage.
If I use #NVS (with default setting) along with #FCB, and try to save some data using it, then it pushes NODE into unprovisioned state. This should be because of overlapping.
Solution is to modify NVS's storage offset. For e.g.
#define NVS_STORAGE_OFFSET (FLASH_AREA_STORAGE_OFFSET - 4096)
But it will be not a good idea, if #DFU_OTA going to be part of project. Am i right ?
Do anyone have better solution ?
Thank You !!