2024-03-25 20:44:14 +01:00
|
|
|
# EEPROM EMULATION Library for STM32
|
|
|
|
---
|
|
|
|
## Please Do not Forget to get STAR, DONATE and support me on social networks. Thank you. :sparkling_heart:
|
|
|
|
---
|
|
|
|
- Author: Nima Askari
|
|
|
|
- Github: https://www.github.com/NimaLTD
|
|
|
|
- Youtube: https://www.youtube.com/@nimaltd
|
|
|
|
- LinkedIn: https://www.linkedin.com/in/nimaltd
|
|
|
|
- Instagram: https://instagram.com/github.NimaLTD
|
2024-03-28 09:31:31 +01:00
|
|
|
---
|
|
|
|
> [!NOTE]
|
|
|
|
> Please Test Any MCU you have and tell me the result.
|
|
|
|
|
2024-03-28 09:28:43 +01:00
|
|
|
> [!CAUTION]
|
|
|
|
> EEPROM Emulation Library may not be suitable for frequent data alterations.
|
2024-07-27 09:52:20 +02:00
|
|
|
> It is not working on Dual pages Sector-Base Address ( STM32F429II ...)
|
2024-03-25 20:44:14 +01:00
|
|
|
---
|
2024-03-28 09:40:14 +01:00
|
|
|
This library facilitates EEPROM emulation on microcontrollers by selecting the latest sector or page for emulation space.
|
2024-03-28 09:31:31 +01:00
|
|
|
## Tested List:
|
2024-03-28 09:49:15 +01:00
|
|
|
### STM32F
|
2024-03-29 08:50:12 +01:00
|
|
|
- - [x] STM32F0
|
2024-03-28 09:47:06 +01:00
|
|
|
- - [ ] STM32F1
|
|
|
|
- - [ ] STM32F2
|
|
|
|
- - [ ] STM32F3
|
2024-03-28 09:49:47 +01:00
|
|
|
- - [x] STM32F4
|
2024-03-28 09:47:06 +01:00
|
|
|
- - [ ] STM32F7
|
2024-03-28 09:49:15 +01:00
|
|
|
### STM32L
|
2024-03-28 09:47:06 +01:00
|
|
|
- - [ ] STM32L0
|
|
|
|
- - [ ] STM32L1
|
|
|
|
- - [ ] STM32L4
|
|
|
|
- - [ ] STM32L5
|
2024-03-28 09:49:15 +01:00
|
|
|
### STM32C
|
2024-03-28 09:47:06 +01:00
|
|
|
- - [x] STM32C0
|
2024-03-28 09:49:15 +01:00
|
|
|
### STM32G
|
2024-03-29 08:50:12 +01:00
|
|
|
- - [x] STM32G0
|
2024-03-28 09:47:06 +01:00
|
|
|
- - [x] STM32G4
|
2024-03-28 09:49:15 +01:00
|
|
|
### STM32H
|
2024-06-21 18:41:49 +02:00
|
|
|
- - [x] STM32H5
|
2024-03-28 09:47:06 +01:00
|
|
|
- - [x] STM32H7
|
2024-03-28 09:49:15 +01:00
|
|
|
### STM32U
|
2024-03-28 09:47:06 +01:00
|
|
|
- - [ ] STM32U0
|
|
|
|
- - [x] STM32U5
|
2024-03-28 09:49:15 +01:00
|
|
|
### STM32W
|
2024-03-28 09:47:06 +01:00
|
|
|
- - [ ] STM32WB
|
|
|
|
- - [ ] STM32WL
|
|
|
|
- - [ ] STM32WBA
|
2024-03-28 09:31:31 +01:00
|
|
|
---
|
2024-03-25 20:44:14 +01:00
|
|
|
* Install Library from https://github.com/nimaltd/STM32-PACK/raw/main/EE/NimaLTD.I-CUBE-EE.pdsc
|
|
|
|
* Add and enable it.
|
|
|
|
* It does not need to any configuration. This Library Select the latest page/sector of the MCU.
|
|
|
|
* Generate Code.
|
|
|
|
* Set a buffer for Storing the Data ( array, struct, ...)
|
|
|
|
* Call EE_Init()
|
2017-04-11 17:48:13 +02:00
|
|
|
|
2024-03-25 20:44:14 +01:00
|
|
|
---
|
|
|
|
# Watch the Video:
|
|
|
|
|
2024-03-25 22:20:43 +01:00
|
|
|
<div align="center">
|
|
|
|
<a href="https://www.youtube.com/watch?v=o80ugfjuZ-o"><img src="https://img.youtube.com/vi/o80ugfjuZ-o/0.jpg" alt="Video"></a>
|
|
|
|
</div>
|
2024-03-25 20:44:14 +01:00
|
|
|
|
|
|
|
---
|
2024-03-25 20:46:30 +01:00
|
|
|
The old Version: https://github.com/nimaltd/ee/archive/refs/tags/V2.0.6.zip
|
2024-03-25 20:44:14 +01:00
|
|
|
|
2024-03-25 20:44:37 +01:00
|
|
|
```
|
2024-03-25 20:44:14 +01:00
|
|
|
#include "ee.h"
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
uint32_t val1;
|
|
|
|
uint32_t val2;
|
|
|
|
uint32_t val3;
|
|
|
|
uint32_t val4;
|
|
|
|
uint32_t val5;
|
|
|
|
uint32_t val6;
|
|
|
|
uint32_t val7;
|
|
|
|
uint32_t val8;
|
|
|
|
|
|
|
|
} Stotrage_t;
|
|
|
|
|
|
|
|
Stotrage_t ee;
|
|
|
|
|
|
|
|
.
|
|
|
|
.
|
|
|
|
|
|
|
|
int main(void)
|
|
|
|
{
|
|
|
|
.
|
|
|
|
.
|
|
|
|
EE_Init(&ee, sizeof(Stotrage_t));
|
|
|
|
EE_Read();
|
2024-03-25 20:45:29 +01:00
|
|
|
ee.val1 = 1;
|
|
|
|
ee.val2 = 2;
|
|
|
|
ee.val3 = 3;
|
|
|
|
ee.val4 = 4;
|
|
|
|
ee.val5 = 5;
|
|
|
|
ee.val6 = 6;
|
|
|
|
ee.val7 = 7;
|
|
|
|
ee.val8 = 8;
|
2024-05-04 06:34:29 +02:00
|
|
|
EE_Write();
|
2024-03-25 20:44:14 +01:00
|
|
|
while (1)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
2024-03-25 20:44:37 +01:00
|
|
|
```
|