Non-Pause Breakpoint Debugging for Avionics Subsystems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Concurrently running subsystems in avionics systems face synchronization issues during emulator-based debugging or testing due to processor halts at breakpoints, which disrupt the real-time behavior and hinder hardware-software integration testing.

Innovation Solution

A non-pause, real-time debugging technique that invokes a user-configurable routine on breakpoint hits, capturing and modifying the processor state without pausing execution, allowing for emulator-less testing and separate software qualification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the processor is halted at breakpoints during debugging or testing, then the current state can be captured or modified, but synchronization issues occur with concurrently running subsystems

Engineering Contradiction:
Improvestate capture accuracyVSAvoidsynchronization reliability
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent introduces a callback routine as an intermediary mechanism between the breakpoint hit and the state capture operation. When a breakpoint is hit, instead of directly halting the processor, a callback routine is invoked that captures the processor state, modifies it if needed, and then restores execution without pausing the processor. This intermediary approach allows state capture while maintaining continuous processor execution and avoiding synchronization issues with concurrent subsystems.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the processor is paused at breakpoints, then debugging and testing can be performed, but real-time behavior is disrupted

Engineering Contradiction:
Improvedebugging capabilityVSAvoidreal-time behavior stability
Core Design Contradiction:
Ease of operationVSStability of the object's composition

Solution Approach 1:

The patent implements continuous processor execution by invoking callback routines that perform debugging operations without pausing the processor. The callback routine captures state, performs necessary modifications, and immediately restores execution flow. This maintains the continuity of real-time operations while still enabling debugging and testing capabilities, as the processor never actually stops executing instructions.

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If emulators are used for testing, then comprehensive testing can be performed, but system complexity increases

Engineering Contradiction:
Improvetesting comprehensivenessVSAvoidtesting system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the debugging and testing functionality from external emulators and implements it directly within the target system through callback routines. By embedding the state capture and modification capabilities directly in the processor's execution flow, the system eliminates the need for complex external emulator hardware or software, reducing overall system complexity while maintaining comprehensive testing capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20250328452A1Non-pause realtime breakpoint systems and methods
Publication Date: 2025.10.23 HAMILTON SUNDSTRAND CORP
  • US20250328452A1 patent drawing
  • US20250328452A1 patent drawing
  • US20250328452A1 patent drawing

AI summary

A method includes receiving a callback routine creation command at a target device. The method also includes creating a callback routine in a callback memory space included in memory of the target device after validating the same. The method also includes receiving a set breakpoint command at the target device. The method also includes, in response to the received set breakpoint command, setting a breakpoint at the target device. The method can also include identifying a breakpoint hit, generating, by an exception inducing instruction, an interrupt, identifying a breakpoint control block in an active breakpoints data structure. The method also can also include invoking the callback routine and storing an opcode at a memory address, wherein the memory address is in a predetermined memory region of the memory, and wherein the breakpoint control block stores the opcode and the memory address.