Discovering the filesystem of the ESP8266
One of the advantages that the ESP8266 has over most other IoT boards is the ability to store files in its flash memory. You can store configuration files, sketch data, and even content for a web server in the flash memory. In this recipe, we will learn about the architecture of the flash memory and the filesystem as a whole. This will enable us to know how to properly store and retrieve data in and from it.
Flash memory
In most microcontroller architectures, the flash memory is used as the main storage media. Configuration files, firmware, and application data are all stored in it. The flash memory allows random writes and reads and it can only be erased in blocks at a time. Moreover, it can only be erased a specific number of times (between 100,000 and 1,000,000 times) before it fails.
In the Arduino environment, the flash memory is laid out in a specific way, as shown in the following screenshot. This is to ensure proper memory use and maintenance...