Programming 3150 onchip memory – Echelon IzoT NodeBuilder User Manual

Page 223

Advertising
background image

When using flash memory, always enable the flash programmer’s software data protect, SDP, feature
if possible. You must have at least 0x5600 bytes mapped for flash or else the SDP algorithm will not
work.

You can define sections of application code that will reside in EEPROM, flash memory, or NVRAM,
coexisting with the Neuron firmware and other application code in ROM. The portion of the code that
will reside in EEPROM, flash, or NVRAM is contained in the EEPROM image file (.NEI extension).
You must program this memory before installation, just like the ROM because the application must be
completely present when the device is powered-up.

Programming 3150 On-chip Memory

The Neuron firmware automatically initializes the on-chip EEPROM for a Neuron 3150 Chip, FT 3150
Smart Transceiver, or PL 3150 Smart Transceiver by copying a block of memory from off-chip
memory called the boot image. The boot image is contained in the system area (the first 16Kbytes). It
contains a copy of some or all of the on-chip EEPROM memory. Its contents depend on which
firmware state you select when you build the application image. If you select the unconfigured state
(the default), the boot image contains application code and data and a default network image with no
network addressing information. If you select the configured state, the boot image contains a complete
copy of on-chip EEPROM, including network configuration complete with network addressing
information. When a Neuron 3150 Chip, FT 3150 Smart Transceiver, or PL 3150 Smart Transceiver is
powered up and the firmware determines that EEPROM should be initialized (see below), the data
from the boot image will be copied to on-chip EEPROM, and the appropriate firmware state will be
set. If the firmware state is unconfigured, the remaining EEPROM data must then be loaded over the
network. If the firmware state is configured, the chip will be fully programmed at this point, though no
network connections will be defined.

The boot image is used to initialize the on-chip EEPROM of a Neuron 3150 Chip or FT 3150 Smart
Transceiver when the chip is powered up and the firmware detects that EEPROM has not yet been
initialized by the current Neuron firmware or if the Neuron firmware detects an error and reboot
options are specified as described in Setting Device Template Target Properties: Configuration in
Chapter 5. To accomplish this, there is a special value, or boot ID, placed in the application image file
when it is exported. This 16-bit value normally changes each time you build the application image.
On power-up, the Neuron firmware compares the boot ID in the firmware image with the boot ID copy
in the on-chip EEPROM. If they don’t match, the Neuron firmware initializes the on-chip EEPROM
from the boot image. It also copies the boot ID to EEPROM, so the initialization will not happen again
until a new firmware image with a different boot ID is installed. Additional EEPROM boot recovery
options are available as described in Setting Device Template Target Properties: Configuration in
Chapter 5.

Because the boot ID normally changes each time an application image file is exported, exporting,
programming, and inserting a new memory chip will normally result in the EEPROM initialization
taking place, even if no changes have been made to the application or configuration. While a device
normally only does this initialization once for a given firmware image, you can force this process to
occur again with the same firmware image by resetting the Neuron 3150 Chip, FT 3150 Smart
Transceiver, or PL 3150 Smart Transceiver to the blank state (the initial state of EEPROM on a newly
manufactured Neuron Chip or Smart Transceiver) using a special application image. This image is
shipped with the NodeBuilder software in a file named EEBLANK.NRI, and is located in the
C:\LonWorks\Images folder, where x is 12 or higher. To reset a 3150 chip’s state, program this image
into a memory chip and power up the device with this memory chip in place of the normal firmware.
For a short period, the service LED will flash, then it will change to full on, indicating that the chip has
been returned to the blank state. The next time any memory created from an exported firmware file is
placed in the device, the on-chip EEPROM will again be initialized from the special data area in the
firmware.

In addition to the boot ID, external EEPROM, RAM, and flash memory areas coexisting with ROM
will each have a 16-bit signature value, or memory signature, calculated over any application code or
data (but not user variables) that resides in the area. These values are kept in the respective memory

IzoT NodeBuilder FX User's Guide

209

Advertising