Skip to content

Commit 633ced2

Browse files
committed
remove stm32L0x and stm32L1x outside the use of EEPROM
The specific functions for stm32L0x and stm32L1x are defined with the DATA_EEPROM_BASE. So that they are no more required elsewhere. Signed-off-by: Francois Ramu <francois.ramu@st.com>
1 parent 3b6656c commit 633ced2

File tree

1 file changed

+12
-30
lines changed

1 file changed

+12
-30
lines changed

libraries/SrcWrapper/src/stm32/stm32_eeprom.c

Lines changed: 12 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ extern "C" {
4242
/* Be able to change FLASH_BANK_NUMBER to use if relevant */
4343
#if !defined(FLASH_BANK_NUMBER) &&\
4444
(defined(STM32F0xx) || defined(STM32F1xx) || defined(STM32G4xx) ||\
45-
defined(STM32H7xx) || defined(STM32L1xx) || defined(STM32L4xx))
46-
/* Fo STM32F0xx, FLASH_BANK_1 is not defined only FLASH_BANK1_END is defined */
45+
defined(STM32H7xx) || defined(STM32L4xx))
46+
/* For STM32F0xx, FLASH_BANK_1 is not defined only FLASH_BANK1_END is defined */
4747
#if defined(STM32F0xx)
4848
#define FLASH_BANK_1 1U
4949
#endif
@@ -58,7 +58,7 @@ extern "C" {
5858
#endif /* !FLASH_BANK_NUMBER */
5959

6060
/* Be able to change FLASH_DATA_SECTOR to use if relevant */
61-
#if defined(STM32F2xx) || defined(STM32F4xx) || defined(STM32F7xx) ||\
61+
#if defined(STM32F2xx) || defined(STM32F4xx) || defined(STM32F7xx) ||\
6262
defined(STM32H7xx)
6363
#if !defined(FLASH_DATA_SECTOR)
6464
#define FLASH_DATA_SECTOR ((uint32_t)(FLASH_SECTOR_TOTAL - 1))
@@ -77,8 +77,8 @@ extern "C" {
7777
#endif /* !FLASH_PAGE_NUMBER */
7878

7979
/* Be able to change FLASH_END to use */
80-
#if !defined(FLASH_END) && !defined(STM32L0xx)
81-
#if defined (STM32F0xx) || defined (STM32F1xx) || defined(STM32L1xx)
80+
#if !defined(FLASH_END)
81+
#if defined (STM32F0xx) || defined (STM32F1xx)
8282
#if defined (FLASH_BANK2_END) && (FLASH_BANK_NUMBER == FLASH_BANK_2)
8383
#define FLASH_END FLASH_BANK2_END
8484
#elif defined (FLASH_BANK1_END) && (FLASH_BANK_NUMBER == FLASH_BANK_1)
@@ -117,6 +117,8 @@ static inline uint32_t get_flash_end(void)
117117
#define FLASH_END ((uint32_t)(FLASH_BASE + (((FLASH_PAGE_NUMBER +1) * FLASH_PAGE_SIZE))-1))
118118
#elif defined(EEPROM_RETRAM_MODE)
119119
#define FLASH_END ((uint32_t)(EEPROM_RETRAM_START_ADDRESS + EEPROM_RETRAM_MODE_SIZE -1))
120+
#elif defined(DATA_EEPROM_END)
121+
#define FLASH_END DATA_EEPROM_END
120122
#endif
121123
#ifndef FLASH_END
122124
#error "FLASH_END could not be defined"
@@ -130,9 +132,7 @@ static inline uint32_t get_flash_end(void)
130132
* in order to prevent overwritting
131133
* program data
132134
*/
133-
#if defined(STM32L0xx)
134-
#define FLASH_BASE_ADDRESS ((uint32_t)(DATA_EEPROM_BASE))
135-
#elif defined(EEPROM_RETRAM_MODE)
135+
#if defined(EEPROM_RETRAM_MODE)
136136
#define FLASH_BASE_ADDRESS EEPROM_RETRAM_START_ADDRESS
137137
#else
138138
#define FLASH_BASE_ADDRESS ((uint32_t)((FLASH_END + 1) - FLASH_PAGE_SIZE))
@@ -248,8 +248,8 @@ void eeprom_buffer_flush(void)
248248
uint32_t address = FLASH_BASE_ADDRESS;
249249
uint32_t address_end = FLASH_BASE_ADDRESS + E2END;
250250
#if defined (STM32F0xx) || defined (STM32F1xx) || defined (STM32F3xx) || \
251-
defined (STM32G0xx) || defined (STM32G4xx) || defined (STM32L0xx) || \
252-
defined (STM32L1xx) || defined (STM32L4xx) || defined (STM32WBxx)
251+
defined (STM32G0xx) || defined (STM32G4xx) || \
252+
defined (STM32L4xx) || defined (STM32WBxx)
253253
uint32_t pageError = 0;
254254
uint64_t data = 0;
255255

@@ -267,38 +267,20 @@ void eeprom_buffer_flush(void)
267267
EraseInitStruct.NbPages = 1;
268268

269269
if (HAL_FLASH_Unlock() == HAL_OK) {
270-
#if defined(STM32L0xx)
271-
__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | \
272-
FLASH_FLAG_SIZERR | FLASH_FLAG_OPTVERR | FLASH_FLAG_RDERR | \
273-
FLASH_FLAG_FWWERR | FLASH_FLAG_NOTZEROERR);
274-
#elif defined(STM32L1xx)
275-
#if defined(FLASH_SR_RDERR)
276-
__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | \
277-
FLASH_FLAG_SIZERR | FLASH_FLAG_OPTVERR | FLASH_FLAG_RDERR);
278-
#else
279-
__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGAERR | \
280-
FLASH_FLAG_SIZERR | FLASH_FLAG_OPTVERR);
281-
#endif
282-
#elif defined (STM32G0xx) || defined (STM32G4xx) || defined (STM32L4xx) || \
270+
#if defined (STM32G0xx) || defined (STM32G4xx) || defined (STM32L4xx) || \
283271
defined (STM32WBxx)
284272
__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_ALL_ERRORS);
285273
#else
286274
__HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP | FLASH_FLAG_WRPERR | FLASH_FLAG_PGERR);
287275
#endif
288276
if (HAL_FLASHEx_Erase(&EraseInitStruct, &pageError) == HAL_OK) {
289277
while (address <= address_end) {
290-
#if defined(STM32L0xx) || defined(STM32L1xx)
291-
memcpy(&data, eeprom_buffer + offset, sizeof(uint32_t));
292-
if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, address, data) == HAL_OK) {
293-
address += 4;
294-
offset += 4;
295-
#else
278+
296279
data = *((uint64_t *)((uint8_t *)eeprom_buffer + offset));
297280

298281
if (HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD, address, data) == HAL_OK) {
299282
address += 8;
300283
offset += 8;
301-
#endif
302284
} else {
303285
address = address_end + 1;
304286
}

0 commit comments

Comments
 (0)