Debug Trace Unit Switching Modes Without Halting Processor
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The Nexus standard requires systems under development or test to be halted when switching program trace modes, which can lead to data loss or corruption and peripheral malfunctions, limiting non-invasive real-time debugging capabilities.
Innovation Solution
Implementing a debug/trace unit that allows switching trace modes without halting the processing unit, using control registers and logic to define trace regions and perform mode switches on flow boundaries, generating program correlation messages to manage trace information effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the system is halted to switch program trace modes as required by the Nexus standard, then trace mode switching is achieved, but data loss or corruption occurs and peripheral malfunctions arise
Solution Approach 1:
The patent implements dynamic trace mode switching that allows the system to transition between traditional and history trace modes without halting the processing unit. The debug/trace unit dynamically adjusts its operation based on control register settings, enabling mode changes while the system continues executing instructions and peripherals remain operational, thus maintaining both data integrity and system availability
Solution Approach 2:
The patent uses control registers to pre-configure trace mode settings and flow boundary definitions before switching is needed. By preparing the trace mode configuration in advance through register writes and determining flow boundaries beforehand, the system can switch modes smoothly without interruption, preventing data loss and peripheral malfunctions that would occur with abrupt halts
2Adaptability or versatility
If the system is halted to switch trace modes, then mode switching is completed, but real-time debugging capability is lost
Solution Approach 1:
The patent enables continuous system operation during trace mode switching, allowing real-time debugging to proceed without interruption. The processing unit continues executing instructions and the debug/trace unit continuously monitors program flow, maintaining the useful action of real-time observation and analysis while the trace mode transitions from traditional to history mode or vice versa
Solution Approach 2:
The debug/trace unit is designed with multi-functionality to support both traditional and history trace modes within a single unified architecture. Control registers provide a universal interface for configuring different trace modes and flow boundaries, allowing the same hardware unit to adapt to different debugging needs without requiring separate systems or halting operations
3Productivity
If peripherals continue operating during system halt, then peripheral functionality is maintained, but data loss or corruption occurs
Solution Approach 1:
The patent determines flow boundaries in advance and configures control registers with the appropriate trace mode settings before switching occurs. By preparing the trace configuration beforehand and aligning mode switches with flow boundaries, the system ensures that trace data collection remains synchronized with program execution, preventing data loss or corruption even as peripherals continue operating
Solution Approach 2:
The debug/trace unit provides feedback about program flow status and trace mode configuration through status registers and control mechanisms. This feedback allows the system to monitor whether trace data is being collected correctly and adjust operations to maintain data integrity while peripherals continue to function, ensuring synchronization between trace operations and system state
Data Source
AI summary
In one or more embodiments, one or more systems, method, and/or processes described herein can change/switch from a first trace mode to a second trace mode without halting a system under development and/or under test. For example, a debug/trace unit can switch a trace mode without halting a processing unit of a system under development and/or under test. For instance, a debug/trace unit can switch a trace mode that can occur on a change of flow boundary of program instructions executable by a processing unit, at a branch instruction, if a region of program instructions is entered or exited, and/or if a capacity of a buffer changes. In one or more embodiments, Nexus messages can be utilized, and trace mode switches can include switches to and/or from traditional and history traces modes.


