Skip to main content
tad
Visitor II
October 1, 2015
Question

STM32Cube Bug: L1, HAL Flash, Data EEPROM, Cat.1 Devices

  • October 1, 2015
  • 2 replies
  • 928 views
Posted on October 01, 2015 at 15:54

Installed file: STM32Cube_FW_L1_V1.3.0

STM32L1 Cat.1 devices can't successfully write a zero byte, or half-word, to data EEPROM using the HAL function HAL_FLASHEx_DATAEEPROM_Program().

The problem is that HAL_FLASHEx_DATAEEPROM_Program() indirectly calls itself, causing __HAL_LOCK(&pFlash) to be called twiced without an intervening call to __HAL_UNLOCK(&pFlash).

An example path:

HAL_FLASHEx_DATAEEPROM_Program(FLASH_TYPEPROGRAMDATA_BYTE, EEPROM_START_ADDR, 0);

FLASH_DATAEEPROM_ProgramByte(Address, (uint8_t) Data); [in stm32l1xx_hal_flash_ex.c]

HAL_FLASHEx_DATAEEPROM_Program(FLASH_TYPEPROGRAMDATA_FASTWORD, (Address & 0xFFFFFFFC), tmp); [in stm32l1xx_hal_flash_ex.c]

#eeprom #bug #stm32cube
This topic has been closed for replies.

2 replies

Nickname5522_O
Visitor II
October 2, 2015
Posted on October 02, 2015 at 16:57

Hi ashlock.tad,

Your reported issue is under investigation by the development team.

Thank you for your feedback.

-Shahrzad-

Nickname5522_O
Visitor II
January 25, 2016
Posted on January 25, 2016 at 19:26

Hi ashlock.tad,

The issue is confirmed and the fix will be delivered in next releases.

-Shahrzad-