beautypg.com

Transience, Data logging, Boot loader – Echelon Series 6000 Chip databook User Manual

Page 42

background image

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