Hardware breakpoints are set by configuring certain on-chip logic components. Hardware breakpoints are a limited resource, and their number varies, depending on the architecture and the implementation.
By default winIDEA reserves one hardware breakpoint for high-level debugging (Debug | Debug Options | Debugging | Reserve one breakpoint for high-level debugging checkbox). If this functionality is not needed, the box can be unchecked, and the breakpoint released for the user to use.
The configuration of the Hardware breakpoint is typically done by writing
to certain on-chip registers.
In most cases, this error is encountered if all the available Hardware breakpoints are used, or in some cases, the memory writes to these registers fail (e.g. unstable debug session).
Open Debug | Breakpoints to remove the hardware breakpoints.
After starting a debug session, make sure that:
Some evaluation target boards have onboard debuggers. In case you are using BlueBox tools for debugging your application, make sure that any onboard debuggers are disabled as having them enabled could prevent our tools from having access to all the available resources, including hardware breakpoints.
Using Slow Run sets a breakpoint on all possible instructions that the CPU could go to next and then executes the run command. When the CPU is stopped at the previously set breakpoint, that breakpoint is removed and a new one is set to the next instructions, and so on. In case you are stopped on a switch instruction or a complex if statement, compilers usually generate a jump table and winIDEA must set breakpoints on all possible jump locations to stop the CPU on the next instruction. This can use up all available hardware breakpoints.
If you have used up all of the hardware breakpoints, and cannot remove one or more of them to set new ones, you can use Software breakpoints instead. Open the Hardware menu and select Use Software Breakpoints for the desired core.
Update your winIDEA version to the latest one available on our website.
Check this chapter in winIDEA Help.
If you run into these issues, the consequence can be that you are not able to set a hardware breakpoint.