Echelon Neuron C User Manual
Page 55
Neuron C Reference Guide
35
#pragma set_std_prog_id
hh
:
hh
:
hh
:
hh
:
hh
:
hh
:
hh
:
hh
Provides a mechanism for setting the device’s 8-byte program ID. This
directive is provided for legacy application support and should not be used for
new programs. The program ID should be set in the NodeBuilder device
template instead. If this pragma is present, the value must agree with the
program ID set by the NodeBuilder tool.
This pragma initializes the 8-byte program ID using the hexadecimal values
given (each character other than the colons in the argument is a hexadecimal
digit from 0 to F). The first byte can only have a value of 8 or 9, with 8
reserved for devices certified by the L
ON
M
ARK
association. If this pragma is
used, the #pragma set_id_string directive cannot be used. Neither pragma is
required or recommended when using the NodeBuilder Development Tool.
For more information about standard program IDs, see the
LonMark
Application Layer Interoperability Guidelines
.
#pragma skip_ram_test_except_on_power_up
Specify this directive to speed up reset processing by skipping the automatic
testing of RAM by the Neuron firmware. For Series 3100 devices, RAM is
still tested if the reset is a result of powering up the device. RAM is still
always set to zero by each reset.
This directive is not supported in model files.
#pragma snvt_si_eecode
Causes the compiler to force the linker to locate the self-identification and
self-documentation information in EECODE space. See
Memory Areas
in
Chapter 8,
Memory Management,
of the
Neuron C Programmer’s Guide
for a
definition of the EECODE space. By default, the linker places the table in
EEPROM or in ROM code space, as it determines. Placing this table in
EEPROM ensures that it can be modified using
Memory Write
network
management messages. A network tool can use this capability to modify self-
documentation of a device during installation. This pragma is only useful on
a Neuron 3150 Chip, 3150 Smart Transceiver, or a Series 5000 device.
This directive is not supported in model files.
#pragma snvt_si_ramcode
Causes the compiler to force the linker to locate the self-identification and
self-documentation information in RAMCODE space. See
Memory Areas
in
Chapter 8,
Memory Management,
of the
Neuron C Programmer’s Guide
for a
definition of the RAMCODE space. By default, the linker places the table in
EEPROM or in ROM code space, as it determines. Placing this table in RAM
ensures that it can be modified using
Memory Write
network management
messages.
Note:
RAMCODE space is always external memory, and is assumed to be
non-volatile.
This pragma is only useful on a Neuron 3150 Chip, 3150 Smart
Transceiver, or a Series 5000 device.
This directive is not supported in model files.