Non-Volatile Definition

This MotoHawk™ block configures the behavior of the NonVolatile Storage data in the module after programming.

Block ID

motohawk_nv_def

Library

MotoHawk_lib/Data Storage Blocks

Description

On shutdown (or when the Store NonVolatile block is used), the RAM copy of the NonVolatile data is stored to NonVolatile memory. On the next startup, the module will use the previously saved values. When the module is started the first time after programming with a new .srz, there are two options.
- Try to use the previously stored values from the previous program
- Use the factory default values as stored in the .srz file.

Note that the previously stored values may only be used if the same NonVolatile variables are available in the new program as in the old one. If the stored NonVolatile variables do not match up with those expected by the new program, they will be restored from factory defaults, regardless of this setting. Adding or removing any NonVolatile variables, or modifying the name, data type or size of any NonVolatile variables will force reloading from factory defaults. Any other changes to the model will not force reloading from factory defaults, and may therefore be used by the new program.

The Asynch Enable checkbox optionally allows the NonVolatile memory to be accessed while the application is running and will execute the writes in the background. Due to this behavior, the use of the CRC (which detects corrupted memory) is NOT supported. Additionally, applications that use asynchronous data storage cannot use the Buffered EEPROM block. Instead of storing the data asynchronously, applications can choose to execute the Store NonVolatile block on demand to store all the non-volatile data at once instead of writing just one non-volatile variable. Special consideration must be taken to ensure Data Coherency when using Store on demand.
NOTE: The Asynch behavior is available on some but not all target ECUs, and only when using the advanced MotoHawk Build Engine.

An alternate storage strategy is available through the use of Fixed NonVolatile Variables.

Block Parameters

Parameter Field Values Comments/Description
Specify Memory Region Check box (enable) When checked, options will apply to the region specified by 'Memory Region Name'. This option is only shown if supported on the target module. When un-unchecked or disabled the default region 'SERIAL_EE' is used.
Memory Region Name Alpha-numeric text, single-quote enclosed Name of the Memory Region in which to place the data. This option is only shown when 'Specify Memory Region' is checked.
On next startup, after programming Select behavior from listed
  Try to use the previously stored values from the previous program Use the previously stored values from the previous program (variables must match up with current program)
  Use the factory default values as stored in the .srz file If changes have occurred to variables, use this setting 
Asynch Enable (Disables CRC Check) Check box (enable) Enable this to allow the nonvolatile memory to be accessed while the application is running and execute the writes in the background
Read Access Level 0-8 Sets security level 1 lowest, 8 highest, for user access to read value. A setting of zero indicates unsecured access is allowed.
Write Access Level 0-8 Sets security level 1 lowest, 8 highest, for user access to write value. A setting of zero indicates unsecured access is allowed.
Instrumentation Group Alpha-numeric text, single-quote enclosed Defines the folder name and hierarchy to be used by a suitable instrumentation tool. Use "|" character between folder names to delineate subfolder structure.