DIPS: Debug Intermittently-Powered Systems Like Any Embedded System

Conference Paper (2022)
Author(s)

J. De Winkel (TU Delft - Embedded Systems)

T.S. Hoefnagel (Student TU Delft)

B.T. Blokland (Student TU Delft)

P. Pawełczak (TU Delft - Embedded Systems)

Research Group
Embedded Systems
Copyright
© 2022 J. de Winkel, T.S. Hoefnagel, B.T. Blokland, Przemysław Pawełczak
DOI related publication
https://doi.org/10.1145/3560905.3568543
More Info
expand_more
Publication Year
2022
Language
English
Copyright
© 2022 J. de Winkel, T.S. Hoefnagel, B.T. Blokland, Przemysław Pawełczak
Related content
Research Group
Embedded Systems
Pages (from-to)
222–235
ISBN (print)
978-1-4503-9886-2
ISBN (electronic)
9781450398862
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Debugging and testing battery-free intermittently-powered systems is notoriously difficult. This is not only due to the additional complexity of maintaining state through power failures but also due to the lack of proper tools to test and debug these systems. As a solution, we present DIPS: a fully-featured hardware debugger for battery-free intermittently-powered systems capable of automatically verifying memory and peripheral state between power failures. Our solution seamlessly integrates an emulator allowing for emulation of any power scenario to the device under test. This allows our debugger to pause emulation and program execution when debugging or when state restoration issues are detected. Our new system is built around GNU Debugger (GDB): a widely-used debugging tool. Therefore, DIPS allows for a debugging process identical to state-of-the-art debuggers for continuously-powered devices. User studies found that our debugger is easy and intuitive to use. It allows embedded system developers to find bugs quicker in code written for battery-free devices. With our debugger we found unseen errors in state-of-the-art software frameworks for intermittently-powered systems.