EasyFlash is an open source lightweight embedded flash memory library. It provide convenient application interface for MCU (Micro Control Unit). The developers can achieve more efficient and common application development based on Flash memory. The library currently provides **two useful features** :
EasyFlash is an open source lightweight embedded flash memory library. It provide convenient application interface for MCU (Micro Control Unit). The developers can achieve more efficient and common application development based on Flash memory. The library currently provides **Three useful features** :
- **Env(environment variables)** : Let variable easily achieve power down to save. Support **write balance mode** . No need to worry about variable length, wear leveling and other problems.
- **Env(environment variables)** : Let variable easily achieve power down to save. Support **write balance mode** . No need to worry about variable length, wear leveling and other problems.
Use **key-value** model to stored variables to the Flash. You can be more simple to store **setting parameters** or **running logs** and other information which you want to power down to save.
- **IAP** : online upgrade is no longer a difficult thing.
Use **key-value** model to stored variables to the Flash. You can be more simple to store **setting parameters** or **running logs** and other information which you want to power down to save.
- **IAP** : online upgrade is no longer a difficult thing.
The library encapsulates the IAP (In-Application Programming) feature common interface. Support CRC32 checksum. While supporting the bootloader and application upgrade.
The library encapsulates the IAP (In-Application Programming) feature common interface. Support CRC32 checksum. While supporting the bootloader and application upgrade.
- **Log** : The logs can store to product's flash which has no file-system.
It's very suitable for small without a file system products. You can use [EasyLogger](https://github.com/armink/EasyLogger)( A super-lightweight, high-performance C log library which open source by me. It provides a seamless interface with EasyFlash) at the same time. So, it's so easy to store the logs to flash.
### 1.1 File structure
@ -82,6 +93,7 @@ EasyFlash is an open source lightweight embedded flash memory library. It provid
|\easyflash\src\flash_env.c |Env (normal mode) interface and implementation source code.|
|\easyflash\src\flash_env_wl.c |Env (wear leveling mode) interface and implementation source code.|
|\easyflash\src\flash_iap.c |IAP interface and implementation source code.|
|\easyflash\src\flash_log.c |Log interface and implementation source code.|
|\easyflash\src\flash_utils.c |EasyFlash utils. For example CRC32.|
|\easyflash\src\flash.c |Currently contains EasyFlash initialization function only. |
|\easyflash\port\flash_port.c |EasyFlash portable interface and configuration for different platforms.|