For a definition of event breakpoints, see the MPLAB® X IDE Help, “New Breakpoint Dialog”. Additional events for emulation headers are:
- Break on MCLR reset
- Break on execution out of bounds
- Break on trigger in signal
When creating a new breakpoint or customizing an existing breakpoint using an emulation header, additional actions are available for each event breakpoint:
Action | Description |
Break | break (halt) execution per option specified |
Trigger out | emit a trigger out pulse per option specified |
Break and trigger out | break (halt) execution AND emit a trigger out pulse per option specified |
Event breakpoints may be found and set up on the New Breakpoint Dialog (Debug>New Breakpoint) by choosing “Event” as the “Breakpoint Type”. After the breakpoint is created, it may be edited by right clicking and selecting “Customize”.
Execution Out-of-Bounds Detection
An emulation header can be used to detect out-of-bounds execution of code. Out-of-bounds code execution is detected by an event breakpoint that watches for PC values that exceed the available program memory of the emulated MCU. The out-of-bounds code execution condition is typically caused by a computed GOTO or CALL that erroneously computes the index, or by loading PCLATH with an incorrect value. Once code is halted due to the execution out-of-bounds event breakpoint the ‘Previous PC’ functionality can be used to identify the offending instruction.
The Out-of-bounds break option may be found and set up on the New Breakpoint Dialog (Debug>New Breakpoint) by choosing “Event” as the “Breakpoint Type” and checking “Break on execution out of bounds”. After the breakpoint is created, it may be edited by right clicking and selecting “Customize”.
Break on Trigger In/Emit Trigger Out
An emulation header can be set up to break on a trigger in. For details on this type of trigger, see “Trigger In Operation”.
Also, the emulation header may be set to trigger out or break and trigger out when an enhanced even breakpoint it hit. For details on this type of trigger, see “Trigger Out Operation”.