SLAZ612AA August 2014 – August 2021 MSP430FR5987
EEM Module
Debug
A breakpoint after a conditional jump is missed when wait-states are used
A hardware breakpoint set on a code line immediately following a conditional jump will not be hit when the application uses a wait-state. This also affects single-stepping C code through a conditional jump. A conditional jump could be if-else, for-loops, or switch-case statements.
Note: This erratum affects debug mode only.
1) Insert a __no_operation() immediately before the intended line of code that a breakpoint will be set on. For example:
if (a) {
__no_operation(); \\ workaround
\\ your application code -- set breakpoint
}
else {
__no_operation(); \\ workaround
\\ your application code -- set breakpoint
}
Or
2) Operate the debugger in Free Run mode.
Or
3) Single-step on disassembler level