Uninit keyword (for data declarations), Compiler directives, When the program is relinked – Echelon Neuron C User Manual
Page 196: Use of flash memory, Ge 184 for mor, Ge 184 for

184 Memory
Management
if the device is to be protected against a power cycle. See the
Neuron 3150 Chip
External Memory Interface
engineering bulletin for special considerations on
protecting code RAM against Neuron Chip resets.
The ram keyword can go anywhere before the function name. For example:
ram int fn() { ... statements ... }
The ram keyword is useful for functions that a network tool might change
frequently after installation.
uninit Keyword (for Data Declarations)
You can combine the uninit keyword with eeprom variable declarations to declare
data in EENEAR or EEFAR memory areas which is not affected by program load
or chip reset. This type of declaration can provide two benefits. You might need
a large area of allocated memory for database or calibration or other use, and
might want the data to remain unaffected in these situations. Furthermore,
uninit areas of EEPROM are not loaded, thus speeding up loading time. An
example of using the uninit keyword to set aside 500 bytes of such memory is
shown below:
uninit eeprom int datablock[500];
Compiler Directives
Configuration property value files and the configuration property template files,
which hold values and self-documentation data for configuration properties
declared with the cp_family keyword, can be allocated in on-chip EEPROM or off-
chip EEPROM using the linker’s default relocation algorithm. You can use the
#pragma codegen put_cp_template_file_offchip and #pragma codegen
put_cp_value_files_offchip compiler directives to force the template file or the
value files into off-chip memory, if off-chip memory is available. If insufficient
off-chip memory is available, forcing the files to off-chip memory cause the link to
fail. See
Compiler Directives
in the
Neuron C Reference Guide
for more details
about these directives.
When the Program Is Relinked
The compiler directs the application code to the proper areas of memory. The
linker assigns data memory locations and resolves references to global symbolic
addresses. These assignments to addresses occur in the order of declaration in
the compilation. Therefore, to retain the same addresses from link to link,
maintain the same order of declaration.
Use of Flash Memory
Use of flash memory is specified in the NodeBuilder FX or Mini FX hardware
template editor. See the
NodeBuilder FX User's Guide
for more information on
these features, and how to select use of flash memory.