Enhanced Event Breakpoints

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”.

© 2024 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.