by Jaein Jeong
One
problem of the current network programming implementation of TinyOS is that it
takes much longer than the traditional in-system programming due to the slow
radio connection. We extended the network programming implementation of TinyOS
1.1 release so that it can reduce the programming time using the program code
history. The host program generates the difference of the two program images using
the Rsync algorithm and it sends the difference to the sensor nodes as script
messages. The sensor nodes rebuild the program image based on the previous
program version and the received script messages. The Rsync algorithm compares
the two binary files and finds the matching blocks even though they are located
in an arbitrary location within the files. We were able to get speed up of 9.1
for changing a constant and 2.1 to 2.5 for changing a few lines in the source
code.
Host Program:
Fixed Block Comparison, Using Rsync, Using Rsync with decode
Mote Program:
Fixed Block Comparison , Using Rsync , Using Rsync with decode
Boot Loader:
Sample Application: