Hardware Breakpoints
Application IO Restarting Sessions Swappable Partitions Multi-core devicesHardware Breakpoints
Hardware breakpoints are parts of the target device. All devices that can be debugged have at least one hardware breakpoint. A hardware breakpoint may have one or more of the following features:
Break on Execution makes the target halt when the code at a specified address gets executed.
Break on Read halts the target when memory is read from a specified location in data memory. It may be possible to specify a value and then the halt occurs only when the specified value is read.
Break on Write halts the target when memory at the specified location is written It also may let you specify the value that must be written to cause the halt.
Counter may delay the halt until the breakpoint gets hit the specified number of times. The length of the counter varies and can be queried from an MCU object.
The capabilities of hardware breakpoints depend on the target device. Some of the breakpoints can only be used to monitor execution addresses, others can also monitor data reads and writes. Moreover, there may be different classes of breakpoints having different capabilities within the same device. You can use the MCU object to find out how many different classes of breakpoints are present and what are their capabilities.
At the start of a debugging session, all hardware breakpoints are disabled. You may enable, and configure them as needed. Once the breakpoint is enabled, it will keep halting the CPU every time the break conditions are met. If it is no longer necessary, you must explicitly disable it.
On some devices, breakpoints can be manipulated only when the target device is halted. On others, the breakpoints may be enabled and disabled when the device runs.
The target device may take some time to halt when a breakpoint is hit. During this time, a few instructions may get executed. Therefore the breakpoint will slip past the point where the target should have been halted. The amount of slip depends on the target device, type of the breakpoint, and instructions being executed.
© 2007-2025 Northern Software Inc. All Rights Reserved.