Flash content lost

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lehsam
Level 1
Level 1
First reply posted First question asked Welcome!

Hi, 

in our products we are using the CYBLE-022001-00 controller.  We have sold more the 10'000 units and got a lot of consumer returns. The reason is that the Flash content of a specific section got lost. 

The FW is calling WriteUserSFlashRow to write some information provided by the production script into the flash. After a while it turned out, that those information are gone. All other sections in the flash are still ok, the FW is running.  After analyzing the code it turned out, that the FW reads out this section and write it back. I think that could be the root cause but I'm not sure. 

- Did someone observe same issues?

- How to check if the brown out reset (BOR) is enabled?

- What are the maximum write cycles to the Flash?

Thank you for supporting me

Best Regards

Lehsam

0 Likes
1 Solution
DheerajK_81
Moderator
Moderator
Moderator
First comment on KBA First comment on blog 5 questions asked

Hello @lehsam ,

Brown-out detection is an internal circuit and is enabled by default to monitor the supply voltages. There is no register to control this event.

You can find the Flash Endurance values in the datasheet. You can write upto 100K cycles. 

DheerajK_81_0-1614259562928.png

After the production script writes some values in the SFlash, these values can be read by firmware and used. These values will be preserved across resets. So, you don't need to read and write values back in the flash. Since this was the case, probably after 100K cycles, the particular flash row was not being written to or may have gotten corrupted.  

Hope this helps 🙂

Regards,
Dheeraj

View solution in original post

0 Likes
3 Replies
lehsam
Level 1
Level 1
First reply posted First question asked Welcome!

I couldn't find any information how to enable the brown out reset. Is it enabled per default?

0 Likes
DheerajK_81
Moderator
Moderator
Moderator
First comment on KBA First comment on blog 5 questions asked

Hello @lehsam ,

Brown-out detection is an internal circuit and is enabled by default to monitor the supply voltages. There is no register to control this event.

You can find the Flash Endurance values in the datasheet. You can write upto 100K cycles. 

DheerajK_81_0-1614259562928.png

After the production script writes some values in the SFlash, these values can be read by firmware and used. These values will be preserved across resets. So, you don't need to read and write values back in the flash. Since this was the case, probably after 100K cycles, the particular flash row was not being written to or may have gotten corrupted.  

Hope this helps 🙂

Regards,
Dheeraj

0 Likes
lehsam
Level 1
Level 1
First reply posted First question asked Welcome!

Yes, this helps, thank you.

Best Regards

Samuel

0 Likes