Overview, Neuron firmware errors – Echelon Neuron User Manual

Page 172

Advertising
background image

164 Neuron

Firmware Error Codes

Overview

Every application reserves one byte of on-chip EEPROM memory space to hold

the error log. If the firmware posts an error, it is usually due to a severe
problem. A network diagnostics tool could periodically collect the error log and

device statistics to monitor the health of the system.
An application can also post errors, using the error_log( ) function. Only the last
error posted is saved. Users are allocated error numbers 127 and below.
You can use the LonMaker Device Manager in the LonMaker tool to fetch the

error log and other statistics from a device. To do this, right-click the device,
click Manage on the shortcut menu, and then click Test in the LonMaker Device

Manager dialog. For more information on using the LonMaker Device Manager,
see Chapter 8 of the

LonMaker User’s Guide

.

The NodeBuilder Debugger shows any posted errors in the Events Log tab on the

Results pane.

Neuron Firmware Errors

Table 14 lists the Neuron Firmware error codes.

Table 14. Firmware Error Codes

Code

Description

45

io_access() violation

A call to io_access() has occurred when the ISR context is not scheduled (as

would be the case for the two lowest clock rate settings). Executing the
io_access() functionality could deadlock the system, so it is skipped and the

error is logged.

46

Stack Collision/Underflow/Overflow

The data stack and return stack have collided, underflowed, or overflowed.
The system resets and post-reset this error is logged.

47

Illegal opcode executed.

Most likely a program crash. The system resets and post-reset this error is

logged.

48

ISR resource violation.

The following operations are forbidden from an ISR:
Allocation of an outgoing message buffer. The allocation fails.

Network variable updates or polls. The setting of the network variable

“update bit” is denied.
Any writes to non-volatile memory. The write operation is skipped.

Advertising