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 no errors are reported in the Progress window, the CPU status is expected, you can execute basic debug operations (Run, Stop) and that you can observe variables/memory locations in the Watch window.
Some evaluation target boards have onboard debuggers. In case you are using iSYSTEM 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 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 in order to stop CPU on 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 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.
Sorry this article didn't answer your question, we'd love to hear how we can improve it.
Note: This form won't submit a case. We'll just use it to make this article better.