-
Notifications
You must be signed in to change notification settings - Fork 1k
Wrong flash size for eeprom emulation #1316
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
Comments
Hi @JyeSmith Basically the EEPROM library is an emulation using last page flash. |
I've tested |
@fpistm this is not working as expected on L432 when flash size is smaller than max 256kB :) We have used stm32l432kbu6 which has 128kB of FLASH. Current code calculates flash page index: Then EEPROM base address is defined:
Could you reopen this error? |
@ABOSTM could you have a look on this please? Thanks in advance. |
@JyeSmith, But fix will be a real challenge, as other STM32 series are impacted, and it will be difficult to find generic implementation, taking into account single bank/dual bank, possible flash discontinuity between banks, ... |
I cannot save to EEPROM as well on STM32L432KBU6 on latest version. After changing flash end as suggested in #1316 (comment) It saves and reads as it should. |
FLASH_SIZE defined by the CMSIS Device Peripheral Access Layer Header File is the maximum one of a product line. So depending of the mcu this is not the correct one. As an example, L432KC have 256 KB while L432Kb has 128 KB. Using LL_GetFlashSize() allows to get the correct FLASH size. Fixes stm32duino#1316 Signed-off-by: Frederic Pillon <[email protected]>
FLASH_SIZE defined by the CMSIS Device Peripheral Access Layer Header File is the maximum one of a product line. So depending of the mcu this is not the correct one. As an example, L432KC have 256 KB while L432Kb has 128 KB. Using LL_GetFlashSize() allows to get the correct FLASH size. Fixes stm32duino#1316 Signed-off-by: Frederic Pillon <[email protected]>
FLASH_SIZE defined by the CMSIS Device Peripheral Access Layer Header File is the maximum one of a product line. So depending of the mcu this is not the correct one. As an example, L432KC have 256 KB while L432Kb has 128 KB. Using LL_GetFlashSize() allows to get the correct FLASH size. Fixes #1316 Signed-off-by: Frederic Pillon <[email protected]>
FLASH_END which is defined in CMSIS file doesn't take into account the real flash size of a the device, (it is just the maximum possible within the productline). Fixes stm32duino#1316, fixes stm32duino#1500 Signed-off-by: Frederic Pillon <[email protected]>
Hey,
I am trying to use eeprom on the STM32L432. It should be pretty straight forward but I dont appear to be having any luck. Is someone able to confirm it works?
Cheers
The text was updated successfully, but these errors were encountered: