Echelon Neuron C User Manual

Page 55

Advertising
background image

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.

Advertising