IP Library Granted Patent US 9,223,678
Granted Patent B2
US 9,223,678 · App. 13/955,102 · Granted Dec 29, 2015

Data processor device having a debug control module which selectively modifies trace messages

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,223,678
App. No.
13/955,102
Granted
Dec 29, 2015
Kind
B2
Abstract

Upon detecting an occurrence of a watchpoint event for debugging a computer processing system, at least a portion of at least one message in a trace message buffer is flushed when a characteristic of the at least one of the messages matches a specified characteristic.

Claims (60)

1. A data processing system comprising:

an interconnect;

a central processing unit coupled to the interconnect;

a memory coupled to the interconnect, the memory is accessed by the central processing unit via the interconnect;

a debug circuit coupled to the interconnect, the debug circuit including:

a trace module;

a watchpoint module;

a trace message buffer;

a debug control module configured to

detect a specified system event,

examine a plurality of messages in the trace message buffer for at least one characteristic, and

selectively remove at least a portion of one or more of the plurality of messages that have the at least one characteristic; and

a control register having a parameter that indicates whether the ability to remove the at least a portion of one or more of the plurality of messages is enabled.

2. The system of claim 1 wherein:

the at least one characteristic includes a source of a message.

3. The system of claim 1 wherein:

the at least one characteristic includes a priority of a message.

4. The system of claim 1 wherein the debug control module is further configured to:

include a correlation message in the trace message buffer to indicate when at least a portion of one or more of the messages has been removed.

5. The system of claim 4 wherein the at least a portion of one or more of the messages includes one of a group consisting of an address portion, a timestamp portion, and a process identifier portion.

6. The system of claim 4 , wherein the debug control module is further configured to:

remove one of a group consisting of: a specified percentage of the oldest of the plurality of messages, a specified percentage of the newest of the plurality of messages, non-program messages.

7. The system of claim 1 wherein the debug control module is further configured to:

compress remaining messages in the trace message buffer when at least a portion of one or more of the messages has been removed.

8. The system of claim 1 wherein the debug control module is further configured to:

remove the at least a portion of one or more of the messages that have the at least one characteristic based on the fullness of the trace message buffer.

9. A data processing system comprising:

an interconnect;

a central processing unit coupled to the interconnect;

a memory coupled to the interconnect, the memory is accessed by the central processing unit via the interconnect;

a debug circuit coupled to the interconnect, the debug circuit including:

a trace module;

a watchpoint module;

a trace message buffer;

a debug control module configured to

detect a specified system event,

examine a plurality of messages in the trace message buffer for at least one characteristic, and

selectively remove at least a portion of one or more of the plurality of messages that have the at least one characteristic, wherein the at least one characteristic includes size of a message.

10. The system of claim 9 wherein the debug control module includes a control register having a parameter that indicates whether the ability to remove the at least a portion of one or more of the messages is enabled.

11. The system of claim 9 wherein the debug control module is further configured to:

remove the at least a portion of one or more of the messages that have the at least one characteristic based on the fullness of the trace message buffer.

12. A method comprising:

detecting an occurrence of a watchpoint event for debugging a computer processing system;

flushing at least a portion of at least one of a plurality of messages in a trace message buffer in the computer processing system upon detecting the occurrence of the watchpoint event, wherein a characteristic of the at least one of the messages matches a specified characteristic; and

adding a correlation message in the trace message buffer to indicate when the at least a portion of one or more of the messages has been flushed.

13. The method of claim 12 wherein the flushing is performed to enable the trace message buffer to accommodate additional messages associated with the watchpoint event.

14. The method of claim 12 further comprising:

setting a flush control parameter to enable or disable the flushing.

15. The method of claim 12 wherein:

the at least a portion of the at least one of the plurality of message includes one of a group consisting of an address portion, a timestamp portion, and a process identifier portion.

16. The method of claim 12 wherein:

the specified characteristic is one of a group consisting of: a specified percentage of the oldest of the plurality of messages, a specified percentage of the newest of the plurality of messages, non-program messages, a specified priority of a message, and a specified length of a message.

17. The method of claim 16 , wherein:

the plurality of messages are data trace messages.

18. The method of claim 12 further comprising:

compressing remaining messages in the trace message buffer when the at least a portion of one or more of the messages has been flushed.

19. The method of claim 18 wherein:

the plurality of messages are watchpoint trace messages.

20. The method of claim 12 further comprising:

flushing the at least a portion of the one or more of the messages based on a capacity of the trace message buffer and a number of messages in the trace message buffer that do not match the specified characteristic.

Assignments (17)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
MERGER Recorded Jan 3, 2017
From: FREESCALE SEMICONDUCTOR, INC.
To: NXP USA, INC.
Reel/Frame 041144/0363 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT PCT NUMBERS IB2013000664, US2013051970, US201305935 PREVIOUSLY RECORDED AT REEL: 037444 FRAME: 0787. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Oct 17, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 040450/0715 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 5, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037444/0787 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0874 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Nov 13, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031627/0201 →
SUPPLEMENT TO IP SECURITY AGREEMENT Recorded Nov 13, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 031627/0158 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2013
From: MOYER, WILLIAM C.; SCOTT, JEFFREY W.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 030912/0137 →