P
US9256399B2ActiveUtilityPatentIndex 83

Breaking program execution on events

Assignee: ATMEL CORPPriority: Jun 27, 2013Filed: Jun 27, 2013Granted: Feb 9, 2016
Est. expiryJun 27, 2033(~7 yrs left)· nominal 20-yr term from priority
Inventors:HANSSEN INGAR
G06F 13/24G06F 13/00G06F 8/00G06F 9/4812G06F 11/3636G06F 11/3466G06F 11/3698G06F 11/3664
83
PatentIndex Score
12
Cited by
39
References
14
Claims

Abstract

Systems and methods for breaking program execution on events are described. One of the systems includes an event subsystem for receiving the signaling events generated by one or more associated peripheral devices. The system also includes a command module which is coupled between the event subsystem and a debug module, the command module receives the signaling events from the event subsystem and in response generates break commands. The debug module of the system receives the break commands from the command module and, in response, interrupts the execution of a program of a controller.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A controller system comprising:
 an event subsystem that receives signaling events generated by associated peripheral devices, wherein the event subsystem is configured to route the signaling events to allow or control a change of state in one peripheral device to automatically trigger an action on another peripheral device; 
 a command module coupled between the event subsystem and a debug module, the command module receiving the signaling events from the event subsystem and generating break commands responsive thereto; and 
 the debug module for receiving the break commands from the command module and, in response, interrupting execution of a program of the controller. 
 
     
     
       2. The system of  claim 1 , the command module further comprising:
 a latch module that samples the received signaling events; 
 a mask module that
 receives mask data, the mask data identifies zero or more signaling events, 
 compares the received signaling events with the mask data, 
 determines unmasked signaling events as the received signaling events that do not match with any one of the signaling events identified by the mask data; and 
 
 a detection module that detects changes of the unmasked signaling events and generates the break commands. 
 
     
     
       3. The system of  claim 2 , wherein a change of an unmasked signaling event includes setting or resetting a signaling event. 
     
     
       4. The system of  claim 2 , wherein generating a break command by the command module is in response to a change of a single unmasked signaling event. 
     
     
       5. The system of  claim 2 , wherein generating a break command by the command module is in response to a change of a combination of unmasked signaling events. 
     
     
       6. The system of  claim 1 , wherein the controller system is a part of an integrated circuit incorporated in a chip. 
     
     
       7. The system of  claim 1 , wherein the event subsystem includes one or more multiplexers that route the signaling events to the command module. 
     
     
       8. A method comprising
 receiving, from an event subsystem, signaling events for peripheral devices associated with a controller, wherein the event subsystem is configured to route the signaling events to allow or control a change of state in one peripheral device to automatically trigger an action on another peripheral device; 
 providing the received signaling events to a command module for triggering one or more actions in the controller responsive to the signaling events; 
 sampling the received signaling events including identifying one or more unmasked signaling events; and 
 generating interrupts in the controller in response to changes of the unmasked signaling events. 
 
     
     
       9. The method of  claim 8 , wherein identifying one or more unmasked signaling events comprises:
 receiving mask data, the mask data identifying zero or more signaling events; 
 comparing the received signaling events with the mask data; and 
 determining the unmasked signaling events as the received signaling events that do not match with any one of the signaling events identified by the mask data. 
 
     
     
       10. The method of  claim 8 , wherein a change of an unmasked signaling event includes setting or resetting a signaling event. 
     
     
       11. The method of  claim 8 , wherein generating an interrupt in the controller further includes single stepping the unmasked signaling events, the single stepping comprising:
 interrupting the execution of the controller; 
 triggering one or more actions in the controller responsive to a change of an unmasked signaling event; and 
 returning to a normal operation mode of the controller after executing the one or more actions. 
 
     
     
       12. The method of  claim 11 , wherein an action resets the controller. 
     
     
       13. The method of  claim 9 , wherein generating an interrupt in the controller is in response to a change of a single unmasked signaling event. 
     
     
       14. The method of  claim 9 , wherein generating an interrupt in the controller is in response to a change of a combination of unmasked signaling events.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.