US2018285241A1PendingUtilityA1

Energy-interference-free debugger for intermittent energy-harvesting systems

Assignee: UNIV CARNEGIE MELLONPriority: Mar 28, 2017Filed: Mar 28, 2018Published: Oct 4, 2018
Est. expiryMar 28, 2037(~10.7 yrs left)· nominal 20-yr term from priority
G06F 11/3656G06F 11/36G06F 11/0766G06F 11/3644G06F 11/364G06F 11/3648
40
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An energy-interference-free debugger is disclosed for debugging software resident on energy-harvesting target devices, which may periodically lose power and therefore exhibit intermittent execution of the software. The debugger is implemented as a combination of hardware and software and provides, in addition to the traditional debugging tools, the ability to monitor and modify the energy level on the target device, the ability to set breakpoints based on the energy level on the target device, and the ability to isolate portions of the code executing on the target device from energy-related failure during debugging. The debugger is able to remain isolated from intermittent power in passive mode and to create an illusion of an untouched energy reservoir in active mode.

Claims

exact text as granted — not AI-modified
We claim: 
     
         1 . A device for debugging target software executing on an energy-harvesting target device comprising:
 a processor;   an energy source independent from the target device;   a plurality of I/O lines connected to the target device;   software, executing on the processor, the software providing various debugging functions;   wherein one of the plurality of I/O lines is connected to a regulated power line of the target device and one of the plurality of I/O lines is connected to an energy-storage capacitor on the target device;   wherein the charge level available on the target device can be monitored and controlled via the I/O lines connected to the regulated power line and the energy storage capacitor of the target device; and   wherein the target device can be powered via the energy source on the device.   
     
     
         2 . The device of  claim 1  wherein the charge level available on the target device can be increased by charging energy-storage capacitor on the target device from the energy source of the device and decreased by discharging the energy-storage capacitor on the target device through a fixed resistive load on the device. 
     
     
         3 . The device of  claim 1  wherein the software provides both passive mode and active mode debugging;
 wherein the passive mode provides streams of data for correlating changes in system, behavior to changes in the charge level of the energy-storage capacitor on the target device; and 
 wherein the active mode provides the ability to manipulate the charge level on the of the energy-storage capacitor on the target device. 
 
     
     
         4 . The device of  claim 3  wherein the streams of data include charge level of the energy-storage capacitor on the target device, I/O events on wired busses, messages exchanged over RFID and program events marked by watchpoints in the target software. 
     
     
         5 . The device of  claim 3  wherein active mode allows the performance of an active tasks in which:
 a charge level of the energy storage capacitor on the target device is read and stored; 
 the active task is performed; and 
 the energy storage capacitor on the target device is restored to the stored charge level. 
 
     
     
         6 . The device of  claim 5  wherein the software performs the further function of powering the target device from the energy source on the device during the performance of the active task. 
     
     
         7 . The device of  claim 5  wherein the active task comprises interfacing with the target device via the plurality of I/O lines to perform debugging functions of the target device. 
     
     
         8 . The device of  claim 5  wherein the active task is providing energy guards for a guarded portion of the target software comprising:
 placing energy guards before and after a guarded portion of the target software; and 
 allowing the guarded portion of the target software to execute; and 
 
     
     
         9 . The device of  claim 5  wherein the active task is providing a breakpoint at a specified point in the target software. 
     
     
         10 . The device of  claim 5  wherein the active task is providing an energy breakpoint that triggers when the charge level in the energy storage capacitor of the target device falls below a pre-determined level. 
     
     
         11 . The device of  claim 5  wherein the active task is providing a combined breakpoint that triggers at a specified point in the target software when the charge level in the energy storage capacitor of the target device falls below a pre-determined level. 
     
     
         12 . The device of  claim 5  wherein the active task is providing a keep-alive assertion which, upon failure of an assertion condition powers the target device from the energy source on the device. 
     
     
         13 . The device of  claim 1  wherein the software provides the function of providing assertions, watchpoints and breakpoints in the target software triggered by the charge level available in the energy storage capacitor on the target device. 
     
     
         14 . The device of  claim 1  wherein the software provides the function of providing monitoring of I/O via the plurality of I/O lines connected to the target device. 
     
     
         15 . The device of  claim 1  wherein a low-leakage buffer is used on the I/O lines to prevent leakage current between the device and the target device, and a level shifter to match a voltage level of the buffer to a voltage level on the target device. 
     
     
         16 . The device of  claim 1  further comprising software, executing on the target device to provide a library of debugging macros callable from the target software. 
     
     
         17 . The device of  claim 16  wherein the debugging macros include inserting assertions, breakpoints, watchpoints, energy guards and printf calls into the target software. 
     
     
         18 . The device of  claim 16  wherein the library implements a protocol on the target device for communicating with the device over one or more I/O lines. 
     
     
         19 . The device of  claim 16  wherein the library allows the device to read and write memory of the target device. 
     
     
         20 . The device of  claim 1  further comprising a monitor providing a user interface via which a user can interact with the device and the target device to perform debugging functions. 
     
     
         21 . A method for debugging target software on an energy-harvesting target device comprising:
 reading and storing an energy level available on the target device;   performing one or more debugging activities; and   restoring the energy level on the target device to the stored level.   
     
     
         22 . The method of  claim 21  further comprising powering the target device during the debugging activities from an external source of power.

Join the waitlist — get patent alerts

Track US2018285241A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.