2025-06-02 7:29 AM - edited 2025-06-03 2:20 AM
Two of my MCUs are halting in same problem after running for about a year. There have not been many writes/cycles as I have a erase cycle counter which shows 27 so its not wear out problem. The EE_Init function gets stuck at step 4 and returns with EE_WRITE_ERROR. Here is the page situation. I use page 2 and 3 of second bank. Page 2 is in state RECEIVE (aaaa, ffff, ffff, ffff), the page is otherwise empty. Page 3 is in state ERASING (aaaa, aaaa, ffff, aaaa) and the page is full with data. The problem is already found in step 3 (pagestate = STATE_CORRUPTED), where it checks that page 2 is RECEIVE but page 3 is not ERASED. The code however does not do anything about it. It only deals with the case if (pagestate = STATE_RELIABLE). Recovery transfer occurs in step 3 only for reliable page state . Therfore in step 4, there is no active page, no valid page and finally the function exits with EE_WRITE_ERROR
Here are the contents of page 2 starting at 0x08041000:
Here are the contents of page 3 starting at 0x08041800:
Can someone help me out with this?
2025-06-04 11:39 PM
Hello @MAlam.3,
This post has been escalated to the ST Online Support Team for additional assistance. We'll contact you directly.
Best regards,
Maxime
2025-06-05 3:08 AM
Hi Maxime,
Thanks for your reply. Yesterday I already posted this to ST online support forum. It seems Tobias Puetz and Bertrand Pineau have been assigned to the case and they are probably looking itno it.
2025-06-06 12:32 AM
I was thinking to do it when ST support has provided a solution, then I would post the solution here as well and mark that as a reply so that others can also benefit from it.