Knowledge Base

The HMI430 has 4 types of non-volatile memory, all of which are retained when power fails.  None of them rely on the RTC battery.  Here’s an overview:

Storage AreaSizePreloadErasedWritableNon-VolatileUsesRAMStatus ReturnedEndurance
Permanent Memory13NoYesYesYesYesYes2.5 million
Shadow250NoNoYesYesYesNo320,000
NVEM064k(*1)YesReplacedNoYesNoN/AN/A
NVEM13968NoNoYesYesNoNo500,000   
NVEM264kNoNoYesNoNoNoInfinite

Where:

  • Size:
    This is the size of the non-volatile area in bytes.
  • Preload:
    Indicates whether your source code can hold data that SPLat/PC can compile and download into the storage area.
  • Erased:
    Indicates what happens to the storage area when a new application is downloaded to the controller.
  • Writable:
    Indicates whether your running application can write to the storage area.  A “No” would mean only SPLat/PC can during “Preload”.
  • Non-Volatile
    Whether contents are saved when power is removed.
  • UsesRAM:
    Indicates if reading or writing to the storage area occurs to/from RAM.
  • Status Returned:
    Indicates if the area returns status information when it is read.

*1: NVEM0 space is shared with your application.  The combined size of both is limited to 64kB.

If you’ve only got a few bytes to save, use Permanent memory.  If you’ve got more than a few bytes, take next easiest option and use Shadow (but you may need your own way to figure if the data in it is valid).  Finally if you’ve got lots to store or have no RAM to spare, use NVEM1.

Please refer to each of the individual pages for in depth details.