Embedded trace macrocell for enhanced digital signal processor debugging operations
First Claim
1. A method for software instruction debugging by capturing real-time information relating to software execution flow in a digital signal processor, comprising:
- operating a non-intrusive debugging process within a debugging mechanism of the digital signal processor, the debugging mechanism associated with a core processor of the digital signal processor, wherein the digital signal processor includes a plurality of threads;
non-intrusively monitoring software execution in real-time for predetermined aspects of software execution associated with the core processor;
recording selectable aspects of the non-intrusively monitored software execution;
generating at least one breakpoint in response to events arising within the selectable aspects of the non-intrusively monitored software execution, wherein the at least one breakpoint is generated from at least one of a plurality of breakpoint triggers that includes a hardware breakpoint trigger and an embedded trace macrocell breakpoint trigger;
controlling aspects of the non-intrusive debugging process in response to the at least one breakpoint; and
generating by the debugging mechanism a thread match signal based on at least one address space identifier of at least one of the plurality of threads, wherein the thread match signal matches the at least one of the plurality of threads to the at least one breakpoint.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for the design and use of a digital signal processor, including (but not limited to) for processing transmissions in a communications (e.g., CDMA) system. The method and system improve software instruction debugging operations by capturing real-time information relating to software execution flow and include and instructions and circuitry for operating a core processor process within a core processor. A non-intrusive debugging process operates within a debugging mechanism of a digital signal processor. Non-intrusively monitoring in real time predetermined aspects of software execution occurs with the core processing process and occurs in real-time on the processor. An embedded trace macrocell records selectable aspects of the non-intrusively monitored software execution and generates at least one breakpoint in response to events arising within the selectable aspects of the non-intrusively monitored software execution. The present disclosure controls aspects of the non-intrusive debugging process in response to at least one breakpoint.
166 Citations
37 Claims
-
1. A method for software instruction debugging by capturing real-time information relating to software execution flow in a digital signal processor, comprising:
-
operating a non-intrusive debugging process within a debugging mechanism of the digital signal processor, the debugging mechanism associated with a core processor of the digital signal processor, wherein the digital signal processor includes a plurality of threads; non-intrusively monitoring software execution in real-time for predetermined aspects of software execution associated with the core processor; recording selectable aspects of the non-intrusively monitored software execution; generating at least one breakpoint in response to events arising within the selectable aspects of the non-intrusively monitored software execution, wherein the at least one breakpoint is generated from at least one of a plurality of breakpoint triggers that includes a hardware breakpoint trigger and an embedded trace macrocell breakpoint trigger; controlling aspects of the non-intrusive debugging process in response to the at least one breakpoint; and generating by the debugging mechanism a thread match signal based on at least one address space identifier of at least one of the plurality of threads, wherein the thread match signal matches the at least one of the plurality of threads to the at least one breakpoint. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A digital signal processor debugging system for operation in association with a digital signal processor and including the ability to capture real-time information relating to software execution flow in a processor, comprising:
-
a debugging mechanism of the digital signal processor, the debugging mechanism associated with a core processor of the digital signal processor and operating a non-intrusive debugging process, wherein the digital signal processor includes a plurality of threads; an embedded trace macrocell for non-intrusively monitoring software execution in real-time for predetermined aspects of software execution associated with the core processor; recording instructions and associated circuitry for the embedded trace macrocell for recording selectable aspects of the non-intrusively monitored software execution; a breakpoint generating instruction associated with the debugging mechanism and the embedded trace macrocell for generating at least one breakpoint in response to events arising within the selectable aspects of the non-intrusively monitored software execution, wherein the at least one breakpoint is generated from at least one of a plurality of breakpoint triggers that includes a hardware breakpoint trigger and an embedded trace macrocell breakpoint trigger; and control instructions associated with the debugging mechanism for initiating the non-intrusive debugging process in response to the at least one breakpoint, wherein the debugging mechanism is configured to generate a thread match signal based on at least one address space identifier of at least one of the plurality of threads and wherein the thread match signal matches the at least one of the plurality of threads to the at least one breakpoint. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A digital signal processor for operation in support of a personal electronics device, the digital signal processor comprising:
-
means for operating a non-intrusive debugging process within a debugging mechanism of the digital signal processor, the debugging mechanism associated with a core processing process operating on a core processor of the digital signal processor, wherein the digital signal processor includes a plurality of threads; means for non-intrusively monitoring software execution in real-time for predetermined aspects of software execution associated with the core processing process and occurring in real-time on the core processor; means for recording selectable aspects of the non-intrusively monitored software execution; means for generating at least one breakpoint in response to events arising within the means for recording selectable aspects of the non-intrusively monitored software execution, wherein the at least one breakpoint is generated from at least one of a plurality of breakpoint triggers that includes a hardware breakpoint trigger and an embedded trace macrocell breakpoint trigger; means for controlling aspects of the non-intrusive debugging process in response to the at least one breakpoint; and means for generating a thread match signal based on at least one address space identifier of at least one of the plurality of threads, wherein the thread match signal matches the at least one of the plurality of threads to the at least one breakpoint. - View Dependent Claims (30, 31, 32, 33, 34, 35)
-
-
36. A non-transitory computer usable medium, comprising:
-
computer readable program code means for operating a non-intrusive debugging process within a debugging mechanism of a multi-threaded digital signal processor, the debugging mechanism associated with a core processor; computer readable program code means for non-intrusively monitoring software execution in real-time for predetermined aspects of software execution associated with the core processor and occurring in real-time on the digital signal processor; computer readable program code means for recording selectable aspects of the non-intrusively monitored software execution; computer readable program code means for generating at least one breakpoint in response to events arising within the selectable aspects of the non-intrusively monitored software execution, wherein the at least one breakpoint is generated from at least one of a plurality of breakpoint triggers that includes a hardware breakpoint trigger and an embedded trace macrocell breakpoint trigger; computer readable program code means for controlling aspects of the non-intrusive debugging process in response to the at least one breakpoint; computer readable program code means for selecting at least one thread from a plurality of threads of the multi-threaded digital signal processor; and computer readable program code means for generating a thread match signal based on at least one address space identifier of at least one of the plurality of threads, wherein the thread match signal matches the at least one of the plurality of threads to the at least one breakpoint. - View Dependent Claims (37)
-
Specification