Patents by Inventor Richard G. Collins
Richard G. Collins has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 9898386Abstract: An approach is provided in which an endianness violation detection sub-system detects endianness violations between hardware units. The endianness violation detection sub-system tracks memory operations performed by multiple hardware units via debug channels and generates lookup table entries that are stored in a lookup table. When the endianness violation detection sub-system detects endianness relevant load attributes of a load operation that are different than corresponding endianness relevant store attributes of a store operation, the endianness violation detection sub-system generates an endianness violation. In one embodiment, the endianness violation detection sub-system identifies an endianness violation when the endianness violation detection sub-system detects a difference in the byte ordering type between a hardware unit performing a store operation and a hardware unit performing a load operation.Type: GrantFiled: October 15, 2013Date of Patent: February 20, 2018Assignee: NXP USA, INC.Inventors: Brian C. Kahne, John H. Arends, Richard G. Collins, James C. Holt
-
Patent number: 9058421Abstract: In one or more embodiments, a data processing system can include at least one core capable of executing instructions of an instruction set architecture and a trace unit coupled to the at least one core. A call to a subroutine can be detected, and in response, a program trace correlation (PTC) message can be generated and sent to a trace port. Data associated with an execution of the subroutine and/or performance of the data processing system can be sampled and sent to the trace port. A return from the subroutine can be detected, and in response, a trace message can be generated and sent to the trace port. The PTC message and the trace message can be correlated, and the correlation of the PTC message and the trace message can be used to determine a boundary for the subroutine and/or the sampled data associated with the execution of the subroutine.Type: GrantFiled: June 16, 2009Date of Patent: June 16, 2015Assignee: Freescale Semiconductor, Inc.Inventors: Zheng Xu, Richard G. Collins, Jason T. Nearing
-
Publication number: 20150106793Abstract: An approach is provided in which an endianness violation detection sub-system detects endianness violations between hardware units. The endianness violation detection sub-system tracks memory operations performed by multiple hardware units via debug channels and generates lookup table entries that are stored in a lookup table. When the endianness violation detection sub-system detects endianness relevant load attributes of a load operation that are different than corresponding endianness relevant store attributes of a store operation, the endianness violation detection sub-system generates an endianness violation. In one embodiment, the endianness violation detection sub-system identifies an endianness violation when the endianness violation detection sub-system detects a difference in the byte ordering type between a hardware unit performing a store operation and a hardware unit performing a load operation.Type: ApplicationFiled: October 15, 2013Publication date: April 16, 2015Inventors: Brian C. Kahne, John H. Arends, Richard G. Collins, James C. Holt
-
Patent number: 8589738Abstract: A data processing system has a trace message filtering circuit. A method includes: receiving a current page address corresponding to a current instruction in a sequence of instructions; determining that the current page address is for a different page of memory than a previous page address corresponding to a previous instruction in the sequence of instructions; comparing the current page address with a plurality of page addresses stored in a message filtering circuit; and when the current page address is determined to be different than any of the plurality of page addresses, storing the current page address in the message filtering circuit.Type: GrantFiled: January 25, 2011Date of Patent: November 19, 2013Assignee: Freescale Semiconductor, Inc.Inventors: William C. Moyer, Richard G. Collins
-
Patent number: 8438547Abstract: A data processing system and method generates debug messages by permitting an external debug tool to have real-time trace functionality. A data processor executes a plurality of data processing instructions and uses a memory for information storage. Debug module generates debug messages including address translation trace messages. A memory management unit has address translation logic for implementing address translation to translate addresses between virtual and physical forms. The debug module includes message generation module that is coupled to the memory management unit for receiving notice when one or more address translation mappings are modified. The message generation module generates an address translation trace message in response to a detection of a modification of an address translation mapping occurs and provides the address translation trace message external to the debug module.Type: GrantFiled: May 5, 2009Date of Patent: May 7, 2013Assignee: Freescale Semiconductor, Inc.Inventors: William C. Moyer, Richard G. Collins
-
Publication number: 20120331354Abstract: A method of generating timestamped trace messages includes generating a trace message in response to an event at an instruction pipeline of a data processing device. If timestamping is enabled, timestamps are only included in the trace message only if a programmable condition is detected. For example, a timestamp can be included in the trace message if the amount of space used to store messages at a trace message buffer exceeds a watermark value. The condition that results in a timestamped trace message is programmable, and can be selected via a debug interface. Because timestamps are only included in trace messages when the programmable condition is satisfied, some trace messages will not include a timestamp, thereby reducing the amount of buffer space needed to store the trace messages.Type: ApplicationFiled: September 5, 2012Publication date: December 27, 2012Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Zheng Xu, Suraj Bhaskaran, Richard G. Collins, Jason T. Nearing
-
Patent number: 8286032Abstract: A method of generating timestamped trace messages includes generating a trace message in response to an event at an instruction pipeline of a data processing device. If timestamping is enabled, timestamps are only included in the trace message only if a programmable condition is detected. For example, a timestamp can be included in the trace message if the amount of space used to store messages at a trace message buffer exceeds a watermark value. The condition that results in a timestamped trace message is programmable, and can be selected via a debug interface. Because timestamps are only included in trace messages when the programmable condition is satisfied, some trace messages will not include a timestamp, thereby reducing the amount of buffer space needed to store the trace messages.Type: GrantFiled: April 29, 2009Date of Patent: October 9, 2012Assignee: Freescale Semiconductor, Inc.Inventors: Zheng Xu, Suraj Bhaskaran, Richard G. Collins, Jason T. Nearing
-
Patent number: 8201025Abstract: A data processing system having debug message generation uses processor circuitry to perform a plurality of processor operations. Global control circuitry is coupled to the processor circuitry. Debug circuitry is coupled to the global control circuitry for generating debug messages corresponding to predetermined processor operations. Message generation logic provides debug messages which selectively include a timestamp field providing information as to when a debug message is generated. Debug control circuitry is coupled to the global control circuitry and the message generation logic and has a timestamp control register. For each of a plurality of debug message types, the timestamp control register selectively enables or disables appending a timestamp to the debug message for that type of debug message. Enable logic is coupled to the timestamp control register for enabling or disabling the timestamp control register based on detecting a selected event in the data processing system.Type: GrantFiled: April 29, 2009Date of Patent: June 12, 2012Assignee: Freescale Semiconductor, Inc.Inventors: William C. Moyer, Richard G. Collins
-
Patent number: 7992052Abstract: A data processing system and method includes a data processor and memory that are coupled to debug circuitry that generates debug messages including address translation trace messages. A memory management unit (MMU) includes a translation lookaside buffer (TLB) for implementing address translation to translate addresses between virtual and physical forms. The debug circuitry includes message generation circuitry coupled to the MMU for receiving notice when TLB entries are modified and generating both an address translation trace message and a corresponding program correlation message containing at least one of branch history information and instruction count information. The branch history information is a history of direct branch instructions that are executed and whether, when executed, the direct branch instructions were taken. The instruction count information is a count of one or more data processing instructions executed up to a point in time when a new TLB entry is established in the TLB.Type: GrantFiled: February 19, 2009Date of Patent: August 2, 2011Assignee: Freescale Semiconductor, Inc.Inventors: William C. Moyer, Richard G. Collins, Jonathan J. Gamoneda
-
Patent number: 7984337Abstract: A data processing system and method generates debug messages by permitting an external debug tool to have real-time trace functionality. A data processor executes a plurality of data processing instructions and uses a memory for information storage. Debug circuitry generates debug messages including address translation trace messages. A memory management unit has address translation logic for implementing address translation to translate addresses between virtual and physical forms. The debug circuitry includes message generation circuitry that is coupled to the memory management unit for receiving notice when one or more address translation mappings are modified. The message generation circuitry generates an address translation trace message in response to a detection of a modification of an address translation mapping occurs and provides the address translation trace message external to the debug circuitry.Type: GrantFiled: February 19, 2009Date of Patent: July 19, 2011Assignee: Freescale Semiconductor, Inc.Inventors: William C. Moyer, Richard G. Collins
-
Publication number: 20110119533Abstract: A data processing system has a trace message filtering circuit. A method includes: receiving a current page address corresponding to a current instruction in a sequence of instructions; determining that the current page address is for a different page of memory than a previous page address corresponding to a previous instruction in the sequence of instructions; comparing the current page address with a plurality of page addresses stored in a message filtering circuit; and when the current page address is determined to be different than any of the plurality of page addresses, storing the current page address in the message filtering circuit.Type: ApplicationFiled: January 25, 2011Publication date: May 19, 2011Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: William C. Moyer, Richard G. Collins
-
Publication number: 20100318972Abstract: In one or more embodiments, a data processing system can include at least one core capable of executing instructions of an instruction set architecture and a trace unit coupled to the at least one core. A call to a subroutine can be detected, and in response, a program trace correlation (PTC) message can be generated and sent to a trace port. Data associated with an execution of the subroutine and/or performance of the data processing system can be sampled and sent to the trace port. A return from the subroutine can be detected, and in response, a trace message can be generated and sent to the trace port. The PTC message and the trace message can be correlated, and the correlation of the PTC message and the trace message can be used to determine a boundary for the subroutine and/or the sampled data associated with the execution of the subroutine.Type: ApplicationFiled: June 16, 2009Publication date: December 16, 2010Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Zheng Xu, Richard G. Collins, Jason T. Nearing
-
Patent number: 7836283Abstract: A method provides a data acquisition message of a data processing system to an external port thereof. Configuration information is written to a configuration register. It is determined if the configuration information identifies a data acquisition operation. If the data acquisition operation has been identified, data corresponding to the configuration information is written to a data register. The data in the data register and the configuration information in the configuration register are formatted into the data acquisition message. The data acquisition message is sent to the external port of the data processing system.Type: GrantFiled: August 31, 2007Date of Patent: November 16, 2010Assignee: Freescale Semiconductor, Inc.Inventors: Zheng Xu, Suraj Bhaskaran, Richard G. Collins, Jason T. Nearing
-
Publication number: 20100287417Abstract: A data processing system and method generates debug messages by permitting an external debug tool to have real-time trace functionality. A data processor executes a plurality of data processing instructions and uses a memory for information storage. Debug module generates debug messages including address translation trace messages. A memory management unit has address translation logic for implementing address translation to translate addresses between virtual and physical forms. The debug module includes message generation module that is coupled to the memory management unit for receiving notice when one or more address translation mappings are modified. The message generation module generates an address translation trace message in response to a detection of a modification of an address translation mapping occurs and provides the address translation trace message external to the debug module.Type: ApplicationFiled: May 5, 2009Publication date: November 11, 2010Applicant: Freescale Semiconductor, Inc.Inventors: William C. Moyer, Richard G. Collins
-
Publication number: 20100281304Abstract: A data processing system having debug message generation uses processor circuitry to perform a plurality of processor operations. Global control circuitry is coupled to the processor circuitry. Debug circuitry is coupled to the global control circuitry for generating debug messages corresponding to predetermined processor operations. Message generation logic provides debug messages which selectively include a timestamp field providing information as to when a debug message is generated. Debug control circuitry is coupled to the global control circuitry and the message generation logic and has a timestamp control register. For each of a plurality of debug message types, the timestamp control register selectively enables or disables appending a timestamp to the debug message for that type of debug message. Enable logic is coupled to the timestamp control register for enabling or disabling the timestamp control register based on detecting a selected event in the data processing system.Type: ApplicationFiled: April 29, 2009Publication date: November 4, 2010Inventors: WILLIAM C. MOYER, Richard G. Collins
-
Publication number: 20100281308Abstract: A method of generating timestamped trace messages includes generating a trace message in response to an event at an instruction pipeline of a data processing device. If timestamping is enabled, timestamps are only included in the trace message only if a programmable condition is detected. For example, a timestamp can be included in the trace message if the amount of space used to store messages at a trace message buffer exceeds a watermark value. The condition that results in a timestamped trace message is programmable, and can be selected via a debug interface. Because timestamps are only included in trace messages when the programmable condition is satisfied, some trace messages will not include a timestamp, thereby reducing the amount of buffer space needed to store the trace messages.Type: ApplicationFiled: April 29, 2009Publication date: November 4, 2010Applicant: FREESCALE SEMICONDUCTOR, INC.Inventors: Zheng Xu, Suraj Bhaskaran, Richard G. Collins, Jason T. Nearing
-
Publication number: 20100211827Abstract: A data processing system and method generates debug messages by permitting an external debug tool to have real-time trace functionality. A data processor executes a plurality of data processing instructions and uses a memory for information storage. Debug circuitry generates debug messages including address translation trace messages. A memory management unit has address translation logic for implementing address translation to translate addresses between virtual and physical forms. The debug circuitry includes message generation circuitry that is coupled to the memory management unit for receiving notice when one or more address translation mappings are modified. The message generation circuitry generates an address translation trace message in response to a detection of a modification of an address translation mapping occurs and provides the address translation trace message external to the debug circuitry.Type: ApplicationFiled: February 19, 2009Publication date: August 19, 2010Inventors: William C. Moyer, Richard G. Collins
-
Publication number: 20100211828Abstract: A data processing system and method includes a data processor and memory that are coupled to debug circuitry that generates debug messages including address translation trace messages. A memory management unit (MMU) includes a translation lookaside buffer (TLB) for implementing address translation to translate addresses between virtual and physical forms. The debug circuitry includes message generation circuitry coupled to the MMU for receiving notice when TLB entries are modified and generating both an address translation trace message and a corresponding program correlation message containing at least one of branch history information and instruction count information. The branch history information is a history of direct branch instructions that are executed and whether, when executed, the direct branch instructions were taken. The instruction count information is a count of one or more data processing instructions executed up to a point in time when a new TLB entry is established in the TLB.Type: ApplicationFiled: February 19, 2009Publication date: August 19, 2010Inventors: William C. Moyer, Richard G. Collins, Jonathan J. Gamoneda
-
Publication number: 20090063805Abstract: A method provides a data acquisition message of a data processing system to an external port thereof. Configuration information is written to a configuration register. It is determined if the configuration information identifies a data acquisition operation. If the data acquisition operation has been identified, data corresponding to the configuration information is written to a data register. The data in the data register and the configuration information in the configuration register are formatted into the data acquisition message. The data acquisition message is sent to the external port of the data processing system.Type: ApplicationFiled: August 31, 2007Publication date: March 5, 2009Inventors: Zheng Xu, Suraj Bhaskaran, Richard G. Collins, Jason T. Nearing
-
Patent number: 7500152Abstract: A system and method time orders events that occur in various portions of the system (10) where different time domains (12, 22, 32) exist. Timestamping circuitry (e.g. 40) is provided in each of a plurality of functional circuits or modules (14, 24, 34). The timestamping circuitry provides a message that indicates a point in time when a predetermined event occurs. An interface module (70) is coupled to each of the plurality of functional circuits (14, 24, 34). The interface module (70) provides control information to the plurality of functional circuits (14, 24, 34) to indicate at least one operating condition that triggers the predetermined event, and to optionally specify a message format. The interface module (70) provides a timestamping message from one, several or all time domains at a common interface port (90).Type: GrantFiled: December 5, 2003Date of Patent: March 3, 2009Assignee: Freescale Semiconductor, Inc.Inventors: William C. Moyer, Richard G. Collins, Michael D. Fitzsimmons, Jason T. Nearing