Embedded Debug Information Segmentation for Memory Overhead Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Embedded systems face challenges in efficiently processing debug information due to limited resources, leading to overhead issues when executing application programs in real-time, which can cause malfunctions.

Innovation Solution

A computing system is designed to store static information in a first memory and dynamic debug information in a second memory within the embedded system, with an output unit combining these to generate debug messages, either directly accessing the second memory or receiving data from a transmitter, minimizing memory overhead and clock cycles.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If debug information is stored entirely in the embedded system's memory, then debugging capability is improved, but memory consumption increases and real-time operation reliability deteriorates

Engineering Contradiction:
Improvereal-time operation reliabilityVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments debug information into static information (stored in host memory during compilation) and dynamic information (stored in embedded system memory during execution). This segmentation allows the embedded system to store only essential dynamic debug data, significantly reducing memory consumption while maintaining debugging functionality through collaboration with the host system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a transmitter as an intermediary component that transfers dynamic debug information from the embedded system to the host system. This intermediary enables the embedded system to offload debug information processing to the host, reducing the burden on embedded system resources while ensuring reliable real-time operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If comprehensive debug information is processed in the embedded system, then debugging precision is improved, but processing time increases and productivity deteriorates

Engineering Contradiction:
Improvedebugging precisionVSAvoidreal-time processing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent extracts the processing of static debug information from the embedded system and places it in the host system during compilation. This extraction allows the embedded system to focus only on capturing and transmitting dynamic debug data, significantly reducing processing time and improving real-time execution efficiency while maintaining comprehensive debugging capability through the host system's processing power.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If debug code lines are executed in the embedded system, then debugging capability is improved, but clock cycle consumption increases and real-time performance deteriorates

Engineering Contradiction:
Improvereal-time execution reliabilityVSAvoidclock cycle waste
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary processing of debug information during the compilation phase on the host system, where static debug information is prepared and stored. This preliminary action eliminates the need for extensive debug information processing during real-time execution in the embedded system, reducing clock cycle consumption and improving real-time execution reliability.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9047180B2Computing system, method and computer-readable medium processing debug information in computing system
Publication Date: 2015.06.02 SAMSUNG ELECTRONICS CO LTD
  • US9047180B2 patent drawing
  • US9047180B2 patent drawing
  • US9047180B2 patent drawing

AI summary

Disclosed are a system, method and computer-readable medium related to processing debug information from an embedded system. Source code of an application program to be used in an embedded system may be compiled by a computing system. The application program may include a debug code line. A minimum amount of debug information is stored in an embedded system, reducing memory overhead and waste of clock cycles of a processor.