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.

[参考译文] TMS320F28386D:CLB 生成的代码中存在疑似缺陷

Guru**** 2457760 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1074151/tms320f28386d-suspected-bug-in-clb-generated-code

部件号:TMS320F28386D
“线程:sysconfig”中讨论的其它部分

您好,

我在我的项目上遇到了一个奇怪的生成代码的 CLB:

CLB_setOutputMask(myCLB0_BASE, (0UL << 0UL), true);
CLB_enableOutputMaskUpdates(myCLB0_BASE);

我不使用任何 CLB 输出,因此生成的代码的这一部分对我没有用处。

但我怀疑 sysconfig 工具生成的代码中有一个错误,因此我更愿意提出它。

对于 ME 调用似乎是反转的,应在设置输出掩码之前调用启用输出掩码更新功能,否则它将不起作用。

此致,

克莱蒙特

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

    你好,克莱蒙特,

    感谢您与我们联系。 根据我的理解, 只有 在以前调用了 CLB_disableOutputMaskUpdates()函数时,才真正需要调用 CLB_enableOutputMaskUpdates()函数,否则它不能真正起到作用。 这是 SDK 中 CLB 示例24中的操作。 否则,如果未禁用,那么即使未调用 enable,CLB_setOutputMask()也应起作用。 我正在使用软件对此进行双重检查,但如果您遇到其他问题,请更正我的问题。

    此致,
    彼得

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

    你好, 克莱蒙特,

    我刚刚收到了一份验证书,证明这是正确的。 本质上,outputMask 是“解锁”的,除非调用了 disable 函数,因此初始 CLB_setMaskOutput()函数可以按预期工作。 由于以前未调用 disable,因此实际上不需要在生成的代码中使用 enable 函数,但现在只需重申将来对 setOutputMask 的调用将起作用。 希望这能回答您的问题,如果您有其他问题,请告诉我。

    此致,

    彼得

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

    嗨 Peter,

    是的,除非调用了 DISABLE 函数,否则它将起作用。

    但是,如果以前调用过,则需要在  CLB_setOutputMask 1之前调用 CLB_enableOutputMaskUpdates 函数。

    这就是为什么我告诉生成的代码不正确/误导性,应该修改。

    我没有体验过,因为我没有在我的代码中加入这一部分,所以我只是在尝试帮助您增强产品并修复一个微小的缺陷  

    此致,

    克莱蒙特

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

    你好, 克莱蒙特,

    是的,你是对的! 我会将此注释发送给软件。 感谢您的帮助

    此致,

    彼得