Skip to main content
Graduate
August 6, 2024
Solved

Adding EEPROM emulation to existing project

  • August 6, 2024
  • 2 replies
  • 1125 views

I'm a noob to the 32-bit world trying to add EEPROM emulation to my ToF application. I read AN3969 and downloaded the associated code, then added eeprom.c and eeprom.h to my project. That didn't compile due to typedef FLASH_Status missing amongst other things. Looking at some other posts, I learned that it is defined in stm32f4xx_flash.h which isn't included in the download but I was able to find on githib. Added it to the project and #included it in eeprom.c, now get even more errors, including in some of the hal .h files.

It seems that the code associated with AN3969 is only half the solution. Please could someone offer some guidance?

    This topic has been closed for replies.
    Best answer by Saket_Om

    Hello @pretoriandave 

     

    >> That didn't compile due to typedef FLASH_Status missing amongst other things. Looking at some other posts, I learned that it is defined in stm32f4xx_flash.h which isn't included in the download, but I was able to find on GitHub. 

     

    The file should be included in the package downloaded from st.com. You need to download the full release package first and then apply the patch release.

    Saket_Om_0-1723023259447.png

    For your application you can refer to the EEPROM emulation example available in the STM32F4 firmware. 

    2 replies

    Super User
    August 6, 2024

    IIRC, The code in AN3969 predates HAL - it uses the old "Standard Peripheral Library" (aka "SPL", or "StdPeriph").

    I suggest:

    1. Get the AN3969 example application working in a project of its own.
    2. Port that example to HAL
    3. Take the ported code, and add it to your HAL project.

     

    Saket_OmAnswer
    Technical Moderator
    August 7, 2024

    Hello @pretoriandave 

     

    >> That didn't compile due to typedef FLASH_Status missing amongst other things. Looking at some other posts, I learned that it is defined in stm32f4xx_flash.h which isn't included in the download, but I was able to find on GitHub. 

     

    The file should be included in the package downloaded from st.com. You need to download the full release package first and then apply the patch release.

    Saket_Om_0-1723023259447.png

    For your application you can refer to the EEPROM emulation example available in the STM32F4 firmware.