Skip to main content
Visitor II
June 2, 2025
Question

x-cube EEPROM failing at EE_Init between step 3 and step 4

  • June 2, 2025
  • 2 replies
  • 454 views

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:

MAlam3_0-1748874300028.png

Here are the contents of page 3 starting at 0x08041800:

MAlam3_1-1748874365712.png

Can someone help me out with this?

 

    This topic has been closed for replies.

    2 replies

    ST Employee
    June 5, 2025

    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

    MAlam.3Author
    Visitor II
    June 6, 2025

    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.

    MAlam.3Author
    Visitor II
    June 5, 2025

    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.