SLAZ286AC October   2012  – May 2021 MSP430F5436A

 

  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
    48.     59
    49.     60
    50.     61
    51.     62
    52.     63
    53.     64
    54.     65
    55.     66
    56.     67
    57.     68
    58.     69
    59.     70
    60.     71
    61.     72
    62.     73
    63.     74
    64.     75
    65.     76
    66.     77
    67.     78
    68.     79
    69.     80
    70.     81
    71.     82
    72.     83
    73.     84
    74.     85
  7.   86

CPU39

CPU Module

Category

Compiler-Fixed

Function

PC is corrupted when single-stepping through an instruction that clears the GIE bit

Description

Single-stepping over an instruction that clears the General Interrupt Enable bit (for example DINT or BIC #GIE,SR) when the GIE bit was previously set may corrupt the PC.  For example, the DINT or BIC #GIE,SR is a 2-byte instruction. Single stepping through this instruction increments the PC by a value of 4 instead of 2 thus corrupting the next PC value.

Note: This erratum applies to debug mode only.

Workaround

Insert a NOP or __no_operation() intrinsic immediately after the line of code that clears the GIE bit.

OR

Refer to the table below for compiler-specific fix implementation information.
Note that compilers implementing the fix may lead to double stack usage when RET/RETA follows the compiler-inserted NOP.

IDE/Compiler Version Number Notes
IAR Embedded Workbench IAR EW430 v5.60 until v6.20 User is required to add the compiler flag option below. --hw_workaround=CPU39 For the command line version add the following information Compiler: --core=430 Assembler:-v1
IAR Embedded Workbench IAR EW430 v6.20 or later Workaround is automatically enabled
TI MSP430 Compiler Tools (Code Composer Studio) v4.1.3 or later
MSP430 GNU Compiler (MSP430-GCC) MSP430-GCC 4.9 build 167 or later