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

Storing large byte array into flash using flash_manager API

Hi,

Greetings!

My Setup:

Hardware: nRF52832 Development Kit

SDK version: SDK16.0.0

Mesh SDK version: SDK for Mesh 4.0.0

Example Application: Light Switch Server with some modification to store application data into flash (apart from mesh configuration data)

Issue:

I am trying to save byte array into flash using "flash_manager" api.

Here array length is larger than 'FLASH_MANAGER_ENTRY_MAX_SIZE', say about 500 Bytes

I tried below several attempts to store data and got error

a. Tried to store whole 500 Bytes of data in single attempt

  Got an mesh assert of 'data_length <= FLASH_MANAGER_ENTRY_MAX_SIZE' at line 1051 in flash_manager.c file

b. Tried storing 128 bytes of data i.e. equals to FLASH_MANAGER_ENTRY_MAX_SIZE

  Got success in storing data. However I am not getting an idea on how to store next 128 bytes or remaining data into flash

c. Also here I am not getting the concept of 'fm_handle_t'. As (if I am not wrong) I want to use it for storing remaining data bytes into flash.

Regards,

Dinesh

Related