SLVSJM6 November   2025 MSPM0G5187

 

  1.   1
  2.   Abstract
  3. 1Functional Advisories
  4. 2Preprogrammed Software Advisories
  5. 3Debug Only Advisories
  6. 4Fixed by Compiler Advisories
  7. 5Device Nomenclature
    1. 5.1 Device Symbolization and Revision Identification
  8. 6Advisory Descriptions
    1. 6.1  AES_ERR_01
    2. 6.2  CPU_ERR_02
    3. 6.3  CPU_ERR_03
    4. 6.4  FLASH_ERR_03
    5. 6.5  FLASH_ERR_04
    6. 6.6  FLASH_ERR_05
    7. 6.7  FLASH_ERR_08
    8. 6.8  GPIO_ERR_05
    9. 6.9  GPIO_ERR_06
    10. 6.10 KEYSTORE_ERR_01
    11. 6.11 PMCU_ERR_13
    12. 6.12 RST_ERR_01
    13. 6.13 SYSCTL_ERR_01
    14. 6.14 SYSCTL_ERR_02
    15. 6.15 SYSCTL_ERR_03
    16. 6.16 SYSCTL_ERR_04
    17. 6.17 SYSOSC_ERR_01
    18. 6.18 SYSOSC_ERR_02
    19. 6.19 SYSPLL_ERR_01
    20. 6.20 TIMER_ERR_04
    21. 6.21 TIMER_ERR_06
    22. 6.22 TIMER_ERR_07
    23. 6.23 UNICOMMI2CC_ERR_01
    24. 6.24 UNICOMMI2CT_ERR_01
    25. 6.25 UNICOMMI2CT_ERR_02
    26. 6.26 UNICOMMI2CT_ERR_03
    27. 6.27 UNICOMMSPI_ERR_01
    28. 6.28 UNICOMMUART_ERR_01
    29. 6.29 UNICOMMUART_ERR_02
    30. 6.30 UNICOMMUART_ERR_03
    31. 6.31 UNICOMMUART_ERR_04
    32. 6.32 UNICOMMUART_ERR_05
    33. 6.33 UNICOMMUART_ERR_06
    34. 6.34 UNICOMMUART_ERR_07
    35. 6.35 UNICOMMUART_ERR_08
    36. 6.36 UNICOMMUART_ERR_09
    37. 6.37 UNICOMMUART_ERR_10
    38. 6.38 UNICOMMUART_ERR_11
  9. 7Trademarks
  10. 8Revision History

UNICOMMI2CC_ERR_01

UNICOMMI2CC Module

Category

Functional

Function

Polling the I2C BUSY bit might not guarantee that the controller transfer has completed

Description

After setting the BUSRTRUN/FRAME_START bit to initiate an I2C controller transfer, it takes approximately 2 I2C functional clock cycles for the BUSY status to be asserted. If polling for the BUSY bit is used immediately after setting BUSRTRUN/FRAME_START to wait for transfer completion, the BUSY status might be checked before it is set. This problem is more likely to occur with high CLKDIV values (resulting in a slower I2C functional clock) or under higher compiler optimization levels.

Workaround

Add software delay before polling BUSY status. Software delay = 3 x I2C functional clock = 3 x clock_divider x (CPU_CLK / selected clock source frequency) For example, with a clock_divider of 8, a clock source of 4 MHz(MFCLK), and CPU_CLK of 32 MHz: Software delay = 3 x 8 x (32 MHz / 4 MHz)= 192 CPU cycles