SLAZ623AA August   2014  – August 2021 MSP430FR6987

 

  1.   1
  2.   2
  3.   3
  4.   4
  5.   5
    1.     6
    2.     7
      1.      8
      2.      9
    3.     10
  6.   11
    1.     12
    2.     13
    3.     14
    4.     15
    5.     16
    6.     17
    7.     18
    8.     19
    9.     20
    10.     21
    11.     22
    12.     23
    13.     24
    14.     25
    15.     26
    16.     27
    17.     28
    18.     29
    19.     30
    20.     31
    21.     32
    22.     33
    23.     34
    24.     35
    25.     36
    26.     37
    27.     38
    28.     39
    29.     40
    30.     41
    31.     42
    32.     43
    33.     44
    34.     45
    35.     46
    36.     47
    37.     48
    38.     49
    39.     50
    40.     51
    41.     52
    42.     53
    43.     54
    44.     55
    45.     56
    46.     57
    47.     58
  7.   59

EEM29

EEM Module

Category

Debug

Function

A breakpoint after a conditional jump is missed when wait-states are used

Description

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.

Workaround

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