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.

[参考译文] TMS570LC4357:FEE 驱动器重新初始化失败、而 TMS570LC43上的看门狗失败

Guru**** 2393725 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1421058/tms570lc4357-fee-driver-reinitialization-fails-with-watchdog-failures-on-tms570lc43

器件型号:TMS570LC4357

工具与软件:

您好!

我将尝试在同一应用中使用数字看门狗功能以及仿真 EEPROM 驱动程序。
在初始公司正常通电时、 FEE 驱动器会正确初始化。

然而、如果数字看门狗发生故障、则会触发系统复位(这是我使用的配置)并从头开始执行代码。
在这种`ve 中、我注意到有时 FEE 驱动程序初始化会由于 TI_VASE(442) Fee_Get 持续返回 BUSY 而失败。

我想知道为什么会这样。 对于这一问题的任何变通办法、也将表示感谢。

谢谢你

Indula.

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

    尊敬的 Indula:

    您使用的是哪款电路板? 特定于 TI 还是自定义?

    我建议您参考以下常见问题解答一次:

    (+)[常见问题解答] TMS570LC4357:如何使用数字看门狗-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    在上面的主题中、我解释了几个与看门狗复位相关的问题、请看一下它们一次。

    如果没有帮助、您能在我结束时分享您的代码以便快速调试问题吗?

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    n`t 很抱歉,我们使用自定义硬件,很遗憾我无法与您分享代码
    但我会尽力解释我们要实现的目标。

    我们使用数字看门狗来触发系统复位。 `s、即使 NMI 有问题(我们没有使用 NMI)仍然可以正常工作

    我们还使用仿真 EEPROM 驱动程序定期将一些信息存储到闪存组7中

    如果系统出现意外的看门狗故障、我们将尝试通过 EEPROM 将系统状态恢复为上次已知的状态

    但有时、EEPROM 驱动器在看门狗故障后返回繁忙状态、并想知道为什么会出现这种情况

    谢谢你

    Indula.

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

    尊敬的 Indula:

    在我们的旧线程中、我们发现在看门狗复位条件下初始化将不会正确发生。 有关更多详细信息、请参阅以下主题:

    (19) TMS570LC4357:看门狗复位时的 WDT 处理-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    这可能会造成差异。

    我的建议是:

    1.如果使用 TI-Launchpad、则在电路板上修改以下代码并进行测试:

    2.如果您正在使用 TI-HDK 板以及上述药物、您还需要进行以下修改代码:

    只需尝试这些修改并验证行为、请参阅上面的共享主题、了解有关这些药物的更多详细信息。

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    我们将使用第三方 RTOS、它 在启动时进行系统初始化。 因此、我不确定如何修改启动。

    在一个类似的注意事项,我发现,如果你 在引导期间多次调用 TI_TI_ Fee_Init (),它有时可能导致数据中止。

    在我们的实现中、FEE 全局变量保持在一个外部 RAM 中、并且在看门狗复位期间、内存保持不变。
    看门狗可能会导致  Fee_Init 调用 TI_VDS()两次、因为看门狗复位时不会发生电源中断?


    谢谢你

    Indula.

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

    尊敬的 Indula:

    对不起,在这个时候,我一直在担心其他问题。

    在我们的实施中、FEE 全局变量保留在外部 RAM 中、并且在看门狗复位期间、存储器保持不变。
    看门狗可能会导致  Fee_Init 两次调用 TI_Quotes()、因为看门狗复位不会发生电源中断?[/QUOT]

    是的、这是可能的。

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    我做了更多的测试,并确认  在初始化期间调用多次时,是 TI_TI_ Fee_Init ()卡住(有时)。
    因此、我确保只调用该函数一次、并且其工作方式在可接受的范围内。

    谢谢你

    Indula.

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

    尊敬的 Indula:

    我进行了更多测试并确认  在初始化期间多次调用时(有时)出现了 TI_TI_ Fee_Init ()卡住。
    因此、我确保只调用一次函数、并且其工作方式似乎可以接受。

    很高兴听到这个消息。

    做得好!

    ——
    谢谢、此致、
    Jagadish。