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.

[参考译文] F29H85X-F29x-EVM:当时钟配置为 SOM 时、SOM 进入故障状态 100MHz。

Guru**** 2794765 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1617138/f29h85x-som-evm-f29x-som-going-into-fault-state-when-clock-is-configured-for-100mhz

器件型号: F29H85X-EVM-EVM SOM
主题: SysConfig 中讨论的其他器件

您好、

在 F29H85x 数据表中、建议根据 CPU 时钟频率更改闪存等待状态。 请参阅以下文档的第 144 页: www.ti.com/.../f29h850tu.pdf

image.png

但是、如果我对 100MHz 的 CPU 时钟使用闪存等待状态 1、我会看到目标器件进入故障状态。  

稍后、每当我尝试不充分地部署目标上的任何内容时、都会收到以下错误:

image.png

为了使目标进入正常状态、我执行以下步骤:

1) Device_RESET_XRS (n)

2) 停止目标

我是需要按照数据表中所述配置闪存等待状态、还是应该针对所有时钟频率将其保持为 3?

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

    对此有任何更新?

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

    你好 Mukul、

    对延迟深表歉意。 如果在 CPU 时钟频率为 100MHz 时将等待状态保持为 3、您是否会看到任何问题?

    此致、

    Marlyn

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

    否、如果我将 flast 等待状态设置为 3、则工作正常

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

    你好 Mukul、

    我能够在我身边重现这个问题。 我将解决导致将 RWAIT 更改为 1 会使器件进入故障状态的根本原因。 我会在找到问题根源后立即回复。  

    此致、
    Marlyn

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

    你好 Mukul、

    感谢您的耐心。 我希望在一周结束前提供最新信息。 我会让你更新,谢谢!

    此致、

    Marlyn

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

    你好 Mukul、

    再次感谢您的耐心。 我有根本原因导致发生了什么。 启用代码缓存时、允许的最小等待状态 (RWAIT) 为 2。 因此、如果您希望在 CPU 以 100MHz 时钟频率运行时将 RWAIT 设为 1、则应禁用代码缓存。 我们将更新突出此要求的文档。

    要在 SysConfig 中禁用代码缓存、请取消选择“Flash Settings“中启用的所有代码缓存。 不足以取消选择“Enable All FRIS Code Flash“。 这是一个错误、我们将在下一个 SDK 版本中得到纠正。

    另外、如果您使用的是从 sysconfig 生成的 device.c 文件、现在 Flash_init () 在 Clock_init () 之前被调用。 这也是我们将在下一个 SDK 版本中处理的在 clock_init () 之后调用 Flash_init () 的内容。 由于现在 Flash_init () 在 clock_init () 之前被调用,当等待状态被设置时,时钟仍被配置为 200MHz。 因此、现在作为一种解决方法、在 sysconfig 中保留 RWAIT 作为默认值、并在 main.c 中调用 Device_init () 后调用 Flash_setWaitStates () 函数 这是为了确保仅在时钟正确配置为 100MHz 后将 RWAIT 更改为 1。

        Device_init();
    
        Flash_setWaitstates(1);

    根据我上述内容、如果您有任何其他问题、敬请告知。  

    此致、

    Marlyn