Transience, Data logging, Boot loader – Echelon Series 6000 Chip databook User Manual
Page 42
2. Press and hold the device’s Reset button. If the device does not have a Reset button,
connect the RST~ pin (pin 28) of the Series 6000 chip to GND to hold the chip in the
reset state.
3. Press and hold the Service Pin button.
4. Release the device’s Reset button (or remove the GND connection from the Series
6000 chip’s RST~ pin).
5. Wait for at least 10 seconds.
6. Release the Service Pin button.
7. The device will become “applicationless”.
At this point, you can reload the device with whatever application is required (for example, a
Neuron C application or a ShortStack Micro Server).
Transience
Transient code is either system image code or application code that is read in from flash only
when it is needed. By using this strategy, much larger applications than would be allowed
by the internal RAM alone can be supported. The application program controls which of its
function are “resident” (always in RAM) vs. “transient” (must be brought in from flash on
demand). Resident functions reduce the space available in the RAM for transient functions.
The linker imposes certain minimums on the transient area based on the number of
transient function and their sizes.
Functions that execute within interrupts must be resident.
Data Logging
A data logging mechanism is provided which allows the application to store logs into external
flash. These logs are circular and the number of entries and size of each entry are user
definable. The logs are power fail safe (that is, a power failure during a write of entry N
either produces a log with N or N-1 entries but does not corrupt entries). APIs exist to both
read and write entries. The number of writes that can occur to a log depend completely on
the log parameters. In terms of an example, think about a log that is 32KB with 128-byte
entries. This works out to about 256 entries. With 4KB flash sectors, this means one sector
erase for every 32 entries. Since there are 8 sectors in a 32KB log and each sector can be
erased 100,000 times, you have a total of 8*100,000*32 (or 25.6 million) log entry writes
possible. This works out to one log update every 30 seconds over a 20-year lifetime. Higher
frequency writes can be achieved by increasing the size of the log or decreasing the size of
each entry.
Boot Loader
In addition to a system image, application, network image and logs, the flash contains a
bootloader. The bootloader is responsible for choosing a system image and application to run
at boot time and conveying essential information about this to the system image loaded into
RAM. The system image and application and the bootloader itself can be updated over the
network. During the update of the system image and bootloader, the active version
continues to run and the node is only interrupted during the switchover.
The first half of the flash memory is write-protected. This protects against accidental writes
to the bootloader, system image, or application that would have the potential to cause a hard
30
Hardware Resources