Hi,
I worked few years ago on a project with the configuration below :
- nRF Mesh SDK V1.0.1
- nRF52832
- I used the light switch example where the client and the provisioner were combined to made my project.
In my application there are 1 client/provisioner and 3 servers. The project was stopped for some reason and now I am working again on it.
Provisioning and communication worked fine. When I stop/start the products, the network works and the communication between servers and client continue.
But, after some days it appears that the client is in default. I have an uart used to debug and communicate with NRF52832 but there is no answer from the module. I restart it (on/off power supply) but it's still in default.
I read the programming application in client with nRFgo Studio to have the hex to compare with my application : it seems very different and I don't find the servers mesh information in flash (PERSISTENT_STORAGE).
I erase all flash in client and servers and I programmed them, the provisioning works and the communication works again.
To undestand what may happened, I read application in client with nRFgo Studio to compare hex files in different configuration (0, 1 or 2 servers, after a reset,...). I discovered than after a reset, the application write some data in flash memory, in the function net_state_recover_from_flash in net_state.c there is a function seqnum_block_allocate() which writes data in flash.
I made some tests and when I reset several time the client, some data are written in memory flash.
Part of memory (.hex)
Part of memory after some reset (.hex)
Is it possible to overflow the flash memory or application after a lot of write memory in flash ?
Is this issue known about the nRF Mesh SDK V1.0.1 ?
Is it possible to fix it without changing SDK version ?
Thank you,
Tom,