Why do we need this FlashStorage_STM32F1 library
Features
The FlashStorage_STM32F1 library, inspired by Cristian Maglie's FlashStorage, provides a convenient way to store and retrieve user's data using emulated-EEPROM, from the non-volatile flash memory of STM32F1/F3, including non-genuine CH32F103xx, CS32F103xx, etc. boards.
The flash memory, generally used to store the firmware code, can also be used to store / retrieve more user's data and faster than from EEPROM. Thanks to the buffered data writing and reading, the flash access time is greatly reduced to increase the life of the flash.
Currently, the library supports both new STM32 core v2.0.0 and previous STM32 core v1.9.0
Currently supported Boards
- STM32F1/F3 boards with / without integrated EEPROM
STM32F1xx
- NUCLEO_F103RB, DISCO_F100RB
- BLUEPILL_F103C6, BLUEPILL_F103C8, BLUEPILL_F103CB
- BLACKPILL_F103C8, BLACKPILL_F103CB
- Generic STM32F1, STM32F3
- VCCGND_F103ZET6_MINI, VCCGND_F103ZET6,
- HY_TINYSTM103TB, MAPLEMINI_F103CB
- BLUEBUTTON_F103R8T, BLUEBUTTON_F103RBT, BLUEBUTTON_F103RCT, BLUEBUTTON_F103RET
- GENERIC_F100C4TX, GENERIC_F100C8TX, GENERIC_F100CBTX
- GENERIC_F103C4TX, GENERIC_F103C6TX, GENERIC_F103C6UX, GENERIC_F103C8TX, GENERIC_F103CBTX, GENERIC_F103CBUX
- GENERIC_F100R8TX, GENERIC_F100RBTX
- GENERIC_F103R4HX, GENERIC_F103R6HX, GENERIC_F103R4TX, GENERIC_F103R6TX, GENERIC_F103R8HX, GENERIC_F103RBHX, GENERIC_F103R8TX
- GENERIC_F103RBTX, GENERIC_F103RCTX, GENERIC_F103RDTX, GENERIC_F103RETX, GENERIC_F103RCYX, GENERIC_F103RDYX, GENERIC_F103REYX
- GENERIC_F103RFTX, GENERIC_F103RGTX
- GENERIC_F103T4UX, GENERIC_F103T6UX, GENERIC_F103T8UX, GENERIC_F103TBUX
- GENERIC_F103V8HX, GENERIC_F103VBHX, GENERIC_F103V8TX, GENERIC_F103VBTX, GENERIC_F103VBIX, GENERIC_F103VCHX, GENERIC_F103VDHX
- GENERIC_F103VEHX, GENERIC_F103VCTX, GENERIC_F103VDTX, GENERIC_F103VETX, GENERIC_F103VFTX, GENERIC_F103VGTX,
- GENERIC_F103ZCHX, GENERIC_F103ZDHX, GENERIC_F103ZEHX, GENERIC_F103ZCTX, GENERIC_F103ZDTX, GENERIC_F103ZETX, GENERIC_F103ZFHX,
- GENERIC_F103ZGHX, GENERIC_F103ZFTX, GENERIC_F103ZGTX
- MALYANM200_F103CB, AFROFLIGHT_F103CB
STM32F3xx
- NUCLEO_F302R8, NUCLEO_F303RE, NUCLEO_F303K8, DISCO_F303VC
- BLACKPILL_F303CC, OLIMEXINO_STM32F3
- GENERIC_F302R6TX, GENERIC_F302R8TX, GENERIC_F303RBTX, GENERIC_F303RCTX, GENERIC_F303RDTX, GENERIC_F303RETX
- GENERIC_F303CBTX, GENERIC_F303CCTX
- GENERIC_F303K6TX, GENERIC_F303K8TX
- GENERIC_F303VBTX, GENERIC_F303VCTX
- GENERIC_F334K4TX, GENERIC_F334K6TX, GENERIC_F334K8TX
- SPARKY_F303CC
Changelog
Releases v1.0.1
- Fix mistake in initial releases
Initial Releases v1.0.0
- Initial release to support STM32F1/F3 boards with / without integrated EEPROM
- Tested using genuine STM32F103, or CH32F103/CS32F103 boards with 32KB, 64KB or 128KB Flash Size
- Configurable Flash Sector to use
- FlashStorage size is 1024 bytes (including
1-byte valid
and4-byte signature
)