This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F28388D:cm 闪存 driverlib 可能存在错误。

Guru**** 2528840 points
Other Parts Discussed in Thread: C2000WARE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1230813/tms320f28388d-possible-bug-in-cm-flash-driverlib

器件型号:TMS320F28388D
主题中讨论的其他器件:C2000WARE

您好!

我在 flash.h 中偶然发现了以下代码(driverlib/2838x/driverlib_cm)。

#ifdef _cplusplus
#pragma code_section (".TI.ramfunc");
#endif
静态内联
FLASH_setWaitstates (uint32_t ctrlBaseuint16_t 等待状态)
//
//检查参数。
//
断言(Flash_isCtrlBaseValid (ctrlBase));

//
//等待状态是4位宽。
//
assert (waitstates <= 0xFU);
//
//将闪存读取等待状态量写入相应的寄存器。
//
}

在我看来、此处缺失了对寄存器的实际写入。 版本4.01.000的 C2000软件时、 实际上会写入寄存器。 替换为:

   HWREG (ctrlBase + FLASH_O_FRDCNTL)=
       (HWREG (ctrlBase + FLASH_O_FRDCNTL)&
        ~(uint32_t) FLASH_FRDCNTL_RWAIT_M)|
        ((uint32_t) waitstates << FLASH_FRDCNTL_RWAIT_S);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Frank、您好!

    感谢您的 分享。 我看到了同样的错误、所以我将此错误提交给我们的软件团队。 这些错误应该会在下一个 C2000Ware 版本中得到修复。

    上述代码语句应有效(作为临时解决方案)。

    此致、
    Ibukun