[WIP] stm32L0xx soc series has an embedded EEPROM#1129
[WIP] stm32L0xx soc series has an embedded EEPROM#1129fpistm merged 3 commits intostm32duino:masterfrom
Conversation
6698ee6 to
7ffd1d9
Compare
fpistm
left a comment
There was a problem hiding this comment.
Moreover it seems all STM32L0/L1 have an real EEPROM so I guess it should be fine to clean up all other code which will not be used. Example in eeprom_buffer_flush
5805caf to
ff77452
Compare
|
For both series stm32L0xx and st32L1xx that have EEPROM, the area is defined between DATA_EEPROM_BASE and DATA_EEPROM_END |
|
removing defined(FLASH_EEPROM_BASE) in the libraries/SrcWrapper/src/stm32/stm32_eeprom.c |
fpistm
left a comment
There was a problem hiding this comment.
The buffered eeprom example hangs on a Nucleo L053R8:
https://github.com/stm32duino/STM32Examples/blob/master/examples/NonReg/BufferedEEPROM/BufferedEEPROM.ino
ac1f309 to
a2e6365
Compare
3e3d770 to
052c8a0
Compare
fpistm
left a comment
There was a problem hiding this comment.
Always unable to execute properly the buffered example.
|
on nucleo board STM32L073RZ / SMT32L1xx , BufferedEEPROM test is no more applicable |
|
With a NucleoL152RE not and also with Nucleo L53R8 |
|
removing all buffered access functions in case of EEPROM (mainly stm32L0x and stm32L1x) --> BufferedEEPROM example is no more applicable |
|
fix compilation error |
This EEPROM area is mapped in the non volatile memory and accessed with dedicated HAL functions In this case, the EEPROM area is defined from DATA_EEPROM_BASE to DATA_EEPROM_END Signed-off-by: Francois Ramu <francois.ramu@st.com>
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>
Removing the buffered access to EEPROM as it is not well-suited for stm32L0x and stm32L1x which have actual EEPROM area Signed-off-by: Francois Ramu <francois.ramu@st.com>
|
BufferedEEPROM example updated: |
The EEPROM area of the stm32L0xx or stm32L1xx devices is mapped in the non volatile memory
and accessed with dedicated HAL functions.
The
eeprom_write_byteandeeprom_read_bytefunctions are valid for this actual EEPROM area to access byte per byte.For stm32L0 and L1 devices the buffered method (
eeprom_buffer_fill,eeprom_buffer_flush) is not well suited especially for writing.It is decided to remove
eeprom_buffer_fill,eeprom_buffer_flushin case of stm32L0x and stm32L1x.With this patch the EEPROM.length() reports 0x1800 for stm32L0 devices with 6K-EEPROM.
Fixes #1016