|Abstract:||The advent of batteryless, transiently powered, embeddable, effectively maintenance-free computers that operate solely on harvested energy has enabled new applications in sensing and actuation. In particular, computational RFIDs (CRFIDs) serve as the basis of RFID sensor networks that embed computational capabilities wherever radio waves can reach.
A key problem facing deployments of transiently powered computers in hard-to-reach places is that those computers can become inaccessible to physical contact, making it impossible to update device firmware after deployment.
This paper's main contribution is Bootie, a proof-of-concept bootloader for transiently powered computers that enables them to change their behavior without any physical contact. Bootie's current implementation comprises compile- and run-time components to bundle two or more unmodified firmware programs into a single bootable image, select a firmware program at boot time, supervise that firmware program's execution, and cycle through available firmware images.
This paper's secondary contribution is the preliminary design of a firmware update protocol that will allow a future version of Bootie to accept and install firmware updates wirelessly, thereby enabling experimenters for the first time to change the behavior of their deployed devices. The current implementation is a stepping stone toward this goal.
Bootie is implemented for the MSP430 family of microcontrollers. Source code is available at the author's web page.