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.

[参考译文] TMS320F28379D:CLB 示例

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1188421/tms320f28379d-clb-examples

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

在几个 CLB 示例中、我看到此行

Fullscreen
1
SysCtl_enablePeripheral((SysCtl_PeripheralPCLOCKCR)0x0011);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

它使用 SYSCTL_PeripheralPCLOCKCR 枚举中未定义的值调用 SYSCTL_enablePeripheral。

我可以看到、这会导致写入存储器中的非现有器件!

这是什么?

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

    Martin、  

    感谢您的报告。 将您的查询转发给相关人员、以便查看并作出响应。

    此致

    Siddharth

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

    尊敬的 Martin:  

    在 F2837xD 上运行 CLB 示例是否遇到任何问题? 我认为0x0011对应  于 F2837xD 以外的其他器件上的 CLB1、因为在 F2837xD 上、CLB1时钟链接到 EPWM1。 您可以通过查看另一个 C2000器件(如 F28004x 或 F28002x)的 sysctl.h 文件来验证这一点。 在这些模块上、CLB1时钟(以及所有其他 CLB 逻辑块)具有独立的时钟配置

    是否可以尝试在删除该行的情况下运行此示例? 我相信这是没有目的的

    此致、

    Peter

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

    我已经删除了它的行,显然没有什么区别。

    此外、根据调试器、写入的值为 void、因此也不起作用。

    这也是我在示例代码中看到它的原因、我假设示例代码可帮助我了解此 MCU 的工作原理、这意味着编译器也无法理解我的代码。

    本示例中有几条冗余线路、为清晰起见、可将其删除。 但这条线尤其突出、因为它不仅是冗余的、而且是一个难看的黑客(覆盖枚举值集)、它真的很突出、 让我作为学员深入探究我所想的"它必须具有特殊意义、因为它们会达到丑陋的黑客的长度"。 只是为了发现我把时间浪费在一件毫无意义的事情上。

    因此、我可以确认编译器和运行示例、这一点很重要、甚至没有意义。

    但是对于学员来说、就像有人站在教室里、是一种胡言之语。

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

    尊敬的 Martin:

    感谢您的评论、我一定会将此错误归档、以便在我们的下一个 C2000Ware 版本中修复。 很抱歉、CLB 在 F2837xD 器件上的工作方式与其他器件不同、因此我认为本示例的作者在移植本示例时可能忽略了这方面的内容。 尽管如此、如果您有任何其他问题、请随时联系我们

    此致、

    Peter