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.

[参考译文] TMS320F280025:停止、因为频率超出范围

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/995892/tms320f280025-stop-because-the-frequency-is-out-of-range

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

您好!

我们已将时钟源配置为 INT_OSC2、并将主 CPU 频率配置为100MHz、但程序将在以下位置停止:

单击"继续"后、它将正常工作。

系统配置代码如下所示、您能不能在这里说出错误吗?

e2e.ti.com/.../f28002x_5F00_sysctrl.c

客户希望 通过 F2803x 中的寄存器进行配置、因此使用 handle 的示例代码对他们不友好。

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

    您好 Howard、

       您能否共享以下有助于调试过程的信息:

         -使用了 C2000Ware 的 Vesrion

         - InitSysPll()函数中使用的时钟乘法器和除法器

    谢谢、此致、

    Joseph

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

    Joseph、

    我们使用 的是 C2000Ware_3_04_00_00。

    时钟乘法器为30、分频器为3。 因此,预期的 CPU 频率为10*30/3=100MHz。

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

    Howard、

      非常感谢,很抱歉,我本应该更具体地介绍 InitSysPll(),但您能否为函数提供确切的参数:

    InitSysPll (uint16 clock_source、uint16 imult、uint32 refdiv、uint32 odiv、 uint16 divsel、 uint32 dccbase)

    此致、

    Joseph

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

    Joseph、

    它位于我上传的.c 文件中

    InitSysPll (INT_OSC2、IMULT_30、REFDIV_1、ODIV_3、PLLCLK_By_1、 SYSCTL_DCC_BASE0)

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

    Howard、

    我刚使用确切的参数运行 InitSysPll 函数、看不到任何问题、无法复制超出范围频率的条件。  您是否可以访问 GPIO16/XCLKOUT 引脚以影响 SYSCLK 或 INTOSC2?  如果是、我可以发送一个例程来配置 XCLKOUT 以输出这些时钟。

    Joseph

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

    Joseph、

    谢谢、我找到了根本原因、我错过了 NONBIOS.cmd 文件。

    添加 cmd 文件后、它工作正常。