“Before software can be reusable, it must first be usable.”
An Overview of Memory Devices
Nearly every embedded system requires non-volatile data storage in one form or another. Whether a developer needs to store a simple system state or a complex set of calibration data, there are several potential non-volatile storage devices that are available, such as the following:
Using internal flash and EEPROM devices can be useful when you want to limit external devices, product size, complexity, ...