cancel
Showing results for 
Search instead for 
Did you mean: 

Adding EEPROM emulation to existing project

pretoriandave
Associate II

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?

1 ACCEPTED SOLUTION

Accepted Solutions
Saket_Om
ST Employee

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. 

If your question is answered, please close this topic by clicking "Accept as Solution".

Thanks
Omar

View solution in original post

2 REPLIES 2

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_Om
ST Employee

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. 

If your question is answered, please close this topic by clicking "Accept as Solution".

Thanks
Omar