Echelon Neuron C User Manual
Page 44
24
Compiler Directives
#pragma debug
option
This pragma allows selection of various network debugger features. A
program using network debugger features can only be used with version 6
and later versions of the Neuron firmware.
The valid options are shown in the list below. This pragma can be used
multiple times to combine options, but not all options can be combined.
network_kernel
no_event_notify
no_func_exec
no_node_recovery
no_reset_event
node_recovery_only
The debugger network kernel must be included to use the device with the
network debugger supplied with the NodeBuilder Development Tool or the
LCA Field Compiler API. The network kernel consists of several independent
but interacting modules, all of which are included in the program image by
default. To reduce the size of the network debug kernel included in a
program, one or more of the following options can be specified in additional
#pragma debug directives. See the
NodeBuilder User’s Guide
and the
NodeBuilder Online Help for more information.
Use of the no_event_notify option excludes the event notification module.
Use of the no_func_exec option excludes the remote function execution
module.
Use of the no_node_recovery option turns off the device’s reset recovery delay
that the compiler automatically includes when the network debugging kernel
is included.
Use of the no_reset_event option turns off the reset event notification feature.
This feature is not necessary if the no_event_notify option is used to exclude
all event notification, since the reset event notification is part of the event
notification feature.
Use of the node_recovery_only option instructs the compiler to include the
node recovery feature only, without the network debug kernel.
This directive is not supported in model files.
#pragma disable_mult_module_init
Requests the compiler to generate any required initialization code directly in
the special init and event block, rather than as a separate procedure callable
from the special init and event block. The in-line method, which is selected
as a result of this directive, is slightly more efficient in memory usage, but
might not permit a successful link for an application on a Neuron 3150 Chip
or 3150 Smart Transceiver. This pragma should only be used when trying to
fit a program into a Neuron 3120xx Chip or 3120 Smart Transceiver. See the
discussion on
What to Try When a Program Does Not Fit on a Neuron Chip
in Chapter 8,
Memory Management,
of the
Neuron C Programmer’s Guide
.
This directive cannot be used with the debug directive.
This directive is not supported in model files.