AM2632: [BUG] MCU+ SDK for AM263X 10_02_00_13

Part Number: AM2632

Tool/software:

There is a code error in the MMCSD_lld_xferCompleteStatusPoll function, which causes object->xferErrorStat to remain 0 all the time.
object->xferErrorStat is uint16_t,and (intrStatus & 0xFFFF0000U) the valid value  is in the high 16 bits.This leads to the fact that the judgment results are always successful.

  • Hi ,

    Thanks for reporting the bug. I have filed an internal bug to fix the issue

    Internal tracking link: https://jira.itg.ti.com/browse/MCUSDK-14935.

    For time being, I can suggest either,

    1. Shift the high 16 bits to the low 16 bits before assignment:

    2. Or change the mask to capture the low 16 bits if that's where the relevant error bits actually are

    3. Or, if all 32 bits of error information are needed, change object->xferErrorStat to be a uint32_t in the object definition.
    This issue would indeed cause error conditions to be missed, as the error status would always appear to be 0 (no error) in subsequent checks of object->xferErrorStat

    Regards,
    Shaunak