Method and system for debugging a software program
First Claim
1. An integrated circuit device comprising:
- a processing circuit configured to execute a target program, the processing circuit having a plurality of registers;
a trace system operatively coupled to the processing circuit, the trace system configured to collect trace data comprising the values of the plurality of registers, and the trace system configured to send the trace data for use by a debug program;
a first memory operatively coupled to the processing circuit, the first memory comprises a plurality of overlay regions;
a memory subsystem operatively coupled to the processing circuit, the memory subsystem comprises a plurality of overlay programs, wherein the processing circuit is configured to execute overlay programs from the plurality of overlay regions; and
a memory location operatively coupled to the trace system, the memory location writable by the target program;
wherein the trace system is configured to send a value stored in the memory location to a host computer only when the value is newly written, the value stored in the memory location is indicative of which of the plurality of overlay programs have been executed by the processing circuit.
1 Assignment
0 Petitions
Accused Products
Abstract
A profiling system. At least some of the illustrative embodiments are integrated circuit devices comprising a processing circuit configured to execute a target program (the processing circuit having a plurality of registers), a trace system operatively coupled to the processing circuit (the trace system configured to collect trace data comprising the values of the plurality of registers, and the trace system configured to send the trace data for use by a debug program), a first memory operatively coupled to the processing circuit (the first memory comprising instructions to be executed by the processing circuit), and a memory location operatively coupled to the trace system (the memory location writable by the target program). The trace system is configured to send a value stored in the memory location to the host computer only when the value is newly written.
18 Citations
17 Claims
-
1. An integrated circuit device comprising:
-
a processing circuit configured to execute a target program, the processing circuit having a plurality of registers; a trace system operatively coupled to the processing circuit, the trace system configured to collect trace data comprising the values of the plurality of registers, and the trace system configured to send the trace data for use by a debug program; a first memory operatively coupled to the processing circuit, the first memory comprises a plurality of overlay regions; a memory subsystem operatively coupled to the processing circuit, the memory subsystem comprises a plurality of overlay programs, wherein the processing circuit is configured to execute overlay programs from the plurality of overlay regions; and a memory location operatively coupled to the trace system, the memory location writable by the target program; wherein the trace system is configured to send a value stored in the memory location to a host computer only when the value is newly written, the value stored in the memory location is indicative of which of the plurality of overlay programs have been executed by the processing circuit. - View Dependent Claims (2, 3, 4, 7, 8)
-
-
5. An integrated circuit device comprising:
-
a processing circuit configured to execute a target program, the processing circuit having a plurality of registers; a trace system operatively coupled to the processing circuit, the trace system configured to collect trace data comprising the values of the plurality of registers, and the trace system configured to send the trace data for use by a debug program; a first memory operatively coupled to the processing circuit, the first memory comprises a plurality of overlay regions; a memory subsystem operatively coupled to the processing circuit, the memory subsystem comprises a plurality of overlay programs, wherein the processing circuit is configured to execute overlay programs from the plurality of overlay regions; and a memory location operatively coupled to the trace system, the memory location writable by the target program; wherein the trace system is configured to send a value stored in the memory location to a host computer only when the value is newly written, and the memory location is configured to be used as a bit map, wherein bits within the memory location are asserted to indicate which of the plurality of overlay programs have been loaded to the first memory.
-
-
6. An integrated circuit device comprising:
-
a processing circuit configured to execute a target program, the processing circuit having a plurality of registers; a trace system operatively coupled to the processing circuit, the trace system configured to collect trace data comprising the values of the plurality of registers, and the trace system configured to send the trace data for use by a debug program; a first memory operatively coupled to the processing circuit, the first memory comprises a plurality of overlay regions; a memory subsystem operatively coupled to the processing circuit, the memory subsystem comprises a plurality of overlay programs, wherein the processing circuit is configured to execute overlay programs from the plurality of overlay regions; a log buffer writable by the target program and comprising values indicative of the identities of the plurality of overlay programs and index values corresponding to locations within the memory subsystem where the plurality of overlay programs are stored, and wherein a host computer reads the values from the log buffer; and a memory location operatively coupled to the trace system, the memory location writable by the target program; wherein the trace system is configured to send a value stored in the memory location to the host computer only when the value is newly written.
-
-
9. An integrated circuit device comprising:
-
a processing circuit configured to execute a target program, the processing circuit having a plurality of registers comprising a program counter register that stores the address of the next instruction to be executed; and a system operatively coupled to the processing circuit, the system configured to continually read a value from the program counter register and send an output to a host computer separate from the integrated circuit device at least one selected from the group consisting of;
the value; and
a preemptive value in place of the value upon notification of posting of a new preemptive value. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A system comprising:
-
a host computer configured to execute a debug program; and a target system electrically coupled to the host computer, wherein the target system comprises a processing circuit, a first memory operatively coupled to the processing circuit, a trace system operatively coupled to the processing circuit, and a memory location operatively coupled to the trace system; wherein the processing circuit is configured to execute a target program and wherein the processing circuit comprises a plurality of registers; wherein the first memory comprising instructions to be executed by the processing circuit; wherein the trace system is configured to collect trace data comprising values of the plurality of registers, and wherein the trace system is configured to send the trace data to the host computer for use by the debug program; wherein the memory location is writable by the target program; and wherein the trace system is configured to send a value stored in the memory location to the host computer only when the value is newly written, the value indicative of which of a plurality or overlay programs have been executed by the processing circuit. - View Dependent Claims (17)
-
Specification