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

US2018285241A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018285241-A1
Application numberUS-201815938216-A
CountryUS
Kind codeA1
Filing dateMar 28, 2018
Priority dateMar 28, 2017
Publication dateOct 4, 2018
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

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.

Assignees

Inventors

Classifications

  • using a specific debug interface · CPC title

  • Prevention of errors by analysis, debugging or testing of software · CPC title

  • Error or fault reporting or storing · CPC title

  • by instrumenting at runtime · CPC title

  • tracing values on a bus · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2018285241A1 cover?
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…
Who is the assignee on this patent?
Univ Carnegie Mellon
What technology area does this patent fall under?
Primary CPC classification G06F11/3644. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Oct 04 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).