-
Notifications
You must be signed in to change notification settings - Fork 1k
[WIP] stm32L0xx soc series has an embedded EEPROM #1129
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
6698ee6
to
7ffd1d9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Astyle need to be fixed.
3e3d770
to
052c8a0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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_byte
andeeprom_read_byte
functions 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_flush
in case of stm32L0x and stm32L1x.With this patch the EEPROM.length() reports 0x1800 for stm32L0 devices with 6K-EEPROM.
Fixes #1016