cancel
Showing results for 
Search instead for 
Did you mean: 

STM32CubeF4: EEPROM emulation

pestov
Associate II
Posted on March 20, 2014 at 06:11

Is there EEPROM emulation in STM32CubeF4?

Page http://www.st.com/web/en/catalog/tools/PF257902 has status NRND and 

recommends use  STM32CubeF4, but I don't see EEPROM emulation in those bibls

10 REPLIES 10
Posted on March 20, 2014 at 06:39

The NRND is a bit self serving, the old firmware is still viable, and has a large installed base. The task of porting to the month old Cube platform is not insignificant, and not without risk.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
pestov
Associate II
Posted on March 20, 2014 at 06:44

Who has ported program for new HAL bibls?

Posted on March 31, 2014 at 11:49

Hi Victor,

The EEPROM emulation application for STM32CubeF4 is under development, it will be available soon.

With regards!

pestov
Associate II
Posted on June 04, 2014 at 04:46

Hi!

How soon will it be available?

Can I get beta (development) version? 

leet1
Associate II
Posted on October 10, 2014 at 15:04

Hi,

Is this available yet?

Thanks

rchris
Associate II
Posted on December 16, 2014 at 14:38

Hello ST,

when will this be released? I need to make a decision to either wait, port to cube lib on my own, or use external EEPROM.

Posted on December 16, 2014 at 16:50

Or just manage the FLASH, as FLASH, and avoid all the complications and confusions of pretending it's EEPROM

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
rchris
Associate II
Posted on December 18, 2014 at 13:51

Unfortunately, I need the wear leveling feature of the software. As a temporary solution, I managed to squeeze the old SPL flash driver into the HAL/CMSIS environment. It works but I don't like it.

mahmuudesam
Associate II
Posted on March 04, 2015 at 13:30

I have a problem with writing to and reading from the user configured section of flash memory through hall_stm32f4xx library. After I wrote a value to the starting address of the user configured memory , I read it null or (not saved after programming).

This is the code

void writeFlash(void)

{

    HAL_StatusTypeDef status;

    status =    HAL_FLASH_Unlock();

    status = HAL_FLASH_Program(TYPEPROGRAM_HALFWORD, (uint32_t) userConfig,

    status = HAL_FLASH_Lock();

}

void readFlash(void)

{

    tempvalue = *(uint8_t *)(userConfig);

}

and this is the part of the linker for the user configured flash

MEMORY   

{

  RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K

  CCMRAM (xrw) : ORIGIN = 0x10000000, LENGTH = 64K

  FLASH1 (rx) : ORIGIN = 0x08000000, LENGTH = 32k

  DATA (xrw) : ORIGIN = 0x08008000, LENGTH = 32k        

  FLASH (rx) : ORIGIN = 0x08010000, LENGTH = 512K-64k  

  FLASHB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0

  EXTMEMB0 (rx) : ORIGIN = 0x00000000, LENGTH = 0

  EXTMEMB1 (rx) : ORIGIN = 0x00000000, LENGTH = 0  

  EXTMEMB2 (rx) : ORIGIN = 0x00000000, LENGTH = 0

  EXTMEMB3 (rx) : ORIGIN = 0x00000000, LENGTH = 0

  MEMORY_ARRAY (xrw)  : ORIGIN = 0x20002000, LENGTH = 32

}

SECTIONS

{

    ///////  > FLASH

    ///////  > FLASH1

    .user_data :

    {

      . = ALIGN(4);

         *(.user_data)

      . = ALIGN(4);

    } > DATA

    ///////  > MEMORY_ARRAY

    ///////  > RAM

}