Remote Debugging Embedded Terminals via CoreSight Framework

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional embedded terminal development often overlooks the final deployment site conditions, leading to software debugging challenges, especially in harsh geographical locations, where remote program updating alone is insufficient to locate issues and frequently burdens data transfer with additional load.

Innovation Solution

A remote software debugging method utilizing the CoreSight debugging framework and dynamic command system, which dynamically loads debugging programs, sets and manages breakpoints, and provides adaptive debugging modes (full-run, run-by-statement, run-by-process, and suspend) to reduce hardware dependencies and storage space, facilitating remote online debugging through serial communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If remote program updating is used repeatedly to update terminal software, then software problems can be addressed, but data transfer load increases and software problems remain difficult to locate

Engineering Contradiction:
Improvesoftware problem resolutionVSAvoiddata transfer load
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent introduces a remote debugging system as an intermediary between the developer and the embedded terminal. This system includes a debugging server that communicates with the terminal through a communication module, enabling debugging without repeatedly uploading complete software versions. The intermediary allows selective data transfer (only debugging-related information) rather than full software updates, reducing data transfer load while maintaining problem resolution capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a virtual debugging environment by copying essential debugging functionalities to the remote terminal through a lightweight communication module. Instead of transferring full software images for debugging, the system copies only the necessary debugging interface and communicates with the running system, enabling problem location without heavy data transfer

Inventive Principle:
Principle #26Copying

2Ease of operation

If traditional debugging methods are used for remote embedded terminals, then software can be updated, but additional hardware dependencies and storage space occupation increase

Engineering Contradiction:
Improveremote debugging capabilityVSAvoidhardware dependencies
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts the essential debugging functionality from the complete development environment and isolates it into a minimal communication module on the terminal side. This extracted module handles only the necessary debugging protocols and communications, removing unnecessary hardware dependencies and storage requirements while maintaining remote debugging capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements a dynamic debugging system where the debugging interface is activated only when needed through remote connection. The communication module dynamically loads and executes debugging protocols only during active debugging sessions, rather than requiring static hardware dependencies and permanent storage allocation, thus reducing overall device complexity

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12124355B2Remote software debugging method for embedded terminals
Publication Date: 2024.10.22 SUZHOU UNIV
  • US12124355B2 patent drawing

AI summary

A remote software debugging method for embedded terminals makes it possible to reduce additional hardware dependencies and storage space occupation based on a CoreSight debugging framework and a dynamic command system. Series communication is used as a lead study to reduce the pre-exploration difficulty of complex communication modules and facilitate subsequent extraction of the commonalities of the communication modules. An FPB (flash patch and breakpoint) unit in CoreSight debugging framework provides a basis for setting and responding to breakpoints, debugging information for the breakpoints can be extracted and output by debug monitoring exceptions, and dynamic commands are used as carriers of overall functions to fulfill rich debugging functions such as starting and exiting of a debugging mode, setting and cancelling of breakpoints and control over program running state. Finally, common elements of communication modules are extracted, and a general method for adaptive software debugging of communication modules is provided.