| |
Version 2.0 Changes
Deluge 2.0 tackles lessons learned from its initial
version. The main goal of this version is to enhance robustness and useability.
You will never switch back after upgrading. Deluge 2.0
is currently supports the Mica2, Mica2-dot, MicaZ, Telos
rev. A, Telos rev. B, Tmote Sky, and TOSSIM platforms. Code is available
in
Sourceforge
and is a part of TinyOS 1.1.14 and later.
-
Verify image before programming: TOSBoot first verifies the
CRCs in the image before programming to
help ensure the program is valid.
- Check system voltage before programming: Make
sure the system voltage is above the required threshold to ensure
that bits are written correctly.
-
Rollback to Golden Image on failure: TOSBoot will
automatically attempt to load the Golden Image if a programming attempt
has failed, bringing the node into a network programmable state.
-
Hardware write protect: Support for hardware write
protection to prevent application code from modifying the Golden Image.
-
Verbose information: Image metadata include program
name, compile time, hostname that compiled the code, and user that
compiled the code.
-
Protected data structures: Metadata data-structures
include CRCs generated by the host PC to limit propagation of corrupt
data-structures.
-
Auto-detection of TOSBase: The Deluge java app
operates exactly the same whether a Deluge or TOSBase node is connect.
The '-t' option is no longer required
at the command
line.
-
Auto-resume incomplete images: Auto-resume of incomplete images,
using program name, unix time, and user hash to identify identical
images.
-
Auto-detect identical images: Auto-detection of identical
images so that images are not accidentally downloaded more than once
by the user.
-
Operator error protection: Metadata information
clearly displayed and now requires user confirmation to continue
execution.
- Reset images: Reset Deluge images before shifting
your nodes from network to network and prevent unintentional infection
of nodes.
-
nesC TOSBoot: TOSBoot bootloader now written in
nesC.
-
TinyOS 2.x storage abstraction: Support for TinyOS
2.x hardware independent storage abstraction.
- Download Deluge images from any node: The program
image can be downloaded from any node, including all metadata.
-
Protocol version number: Version number information included in Deluge
packets to prevent nodes with different versions of Deluge from conflicts.
-
DMA transfer support: CRCs are no longer inlined with program data,
thus allowing for DMA transfers from external flash to program flash.
-
Less code size: All improvements implemented
in less code size than Deluge 1.0.
Version 1.0
-
Multihop support:
Wirelessly program all nodes in a multihop network
without touching your nodes.
-
Epidemic propagation:
Continuous propagation effort by all nodes helps ensure
reachability of those
nodes with intermittent connectivity.
-
Store multiple program images: With each node
storing multiple program images, quickly switch your network between
different programs without continuous downloading.
-
Operate heterogeneous networks:
Run different application code on different nodes.
-
Golden image: A program image
with minimal support for network programming is stored in a safe
location on external
flash. Always have a piece of code that will allow for recovery.
-
Isolated bootloader: A piece
of code that is guaranteed to execute after each reset independent
of
the TinyOS application. The bootloader is responsible for programming
the microcontroller and recovers from programming errors by loading
the Golden Image.
-
Rollback gesture: Nodes crashed
without setting a watchdog timer? Load the Golden Image simply
by flicking the reset switch a few times and they're ready to accept
a new program wirelessly.
-
Redundant data integrity
checks: CRCs at different
levels of hierarchy help ensure that program images at all
nodes are not corrupted.
-
Small RAM footprint: At less
than 150 bytes.
|
|