Non-Pause Breakpoint Debugging for Avionics Subsystems
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Ease of operation
If the processor is paused at breakpoints, then debugging and testing can be performed, but real-time behavior is disrupted
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.
3Adaptability or versatility
If emulators are used for testing, then comprehensive testing can be performed, but system complexity increases
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.
Data Source
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.


