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.

[参考译文] RM57L843:使用 FreeRTOS 的数字看门狗

Guru**** 2390755 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1447124/rm57l843-digital-watchdog-using-freertos

器件型号:RM57L843
主题中讨论的其他器件:HALCOGEN

工具与软件:

您好!

我正在尝试在 halcogen 生成的 FreeRTOS 构建中使用数字看门狗、但存在以下问题。

1. , 我看不到任何 RTI 模块 API 用于初始化和设置由 halcogen 生成的看门狗。 只是想检查它是否不适用于 FreeRTOS 版本、还是我在这里遗漏了一些内容?

2.我创建了自己的看门狗 API,因为我找不到 halcogen 生成的 API。 我在启动 FreeRTOS 调度程序之前从主程序调用 watchdogInit、但不会设置看门狗。一旦我连接到调试器并首次启动、看门狗将在预期的超时后(因为我们未设置看 门狗)复位系统、之后由于看门狗超时导致系统复位、系统再次启动、似乎进入数据中止。 有人能帮我弄清楚吗?

void watchdogInit (void)

//加载预加载值
portRTI_DWDPRLD_REG = 0xFFF;

//启用数字看门狗
portRTI_DWDCTRL_REG = DWDCTRL_INIT_VALUE;
}

void watchdogGet (void)

portRTI_DWDKEY_REG = DWD_KEY1;
portRTI_DWDKEY_REG = DWD_KEY1;
}

谢谢!

Ravi

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

    我能得到有关这方面的答复吗?

    谢谢!

    Ravi

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

    尊敬的 Ravi:

    首先、我建议您验证以下两个我处理过的与 FreeRTOS 的看门狗相关的线程:

    (+) TMS570LS3137:看门狗错误 TMS570LS3137 -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    (+) TMS570LS3137:如何迁移 FreeRTOS -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    ——
    谢谢、此致、
    Jagadish。

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

    我检查了您共享的链接。 然而、在这两个链接中、它们似乎都使用 halcogen 生成的看门狗 API、如 dwdReset 等 但是、我没有看到在 FreeRTOS 项目中为 RM57生成任何此类 API。 切换 Halcogen 设置后、"Driver Enable"下的 RTI 复选框呈灰色显示。 因此、我无法启用它。 您能进一步建议我吗?

    谢谢!

    Ravi

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

    您好!

    我能得到有关这方面的答复吗?

    有人能告诉我为什么 RTI 模块在 Halcogen 中变灰了?

    Ravi

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

    尊敬的 Ravi:

    对于延迟响应、我深表歉意、

    在这段时间里,我被其他许多问题困扰着。

    有人能告诉我为什么 RTI 模块在 Halcogen 中灰显吗?

    由于 RTI 模块将用于 FreeRTOS 中的 OS 计时器功能、因此 HALCoGen 不会使用 RTI 生成任何其他通用时间函数。  

    如果要在 FreeRTOS 代码中使用看门狗、则需要手动添加与看门狗相关的代码。

    ——

    谢谢、此致、
    Jagadish。

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

    好的、谢谢!

    我手动添加了看门狗代码、它在大多数情况下似乎都可以正常工作。 然而、当它命中 UNDEF 异常处理程序(这是一个无限的 while 循环)时、看门狗不会触发。 经过仔细检查后、我发现看门狗已完全禁用。 这是禁用看门狗的情况之一吗? 如果是、能否告诉我禁用看门狗的其他情况?

    谢谢!

    Ravi

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

    尊敬的 Ravi:

    [报价 userid="611851" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1447124/rm57l843-digital-watchdog-using-freertos/5579271 #5579271"]但是、当它遇到 UNDEF 异常处理程序(无限 while 循环)时、看门狗不会触发。 经过仔细检查后、我发现看门狗已完全禁用。 这是禁用看门狗的情况之一吗?[/QUOT]

    我没有特别测试 UNDEF 例外。

    但是、当我测试预取和数据中止时、我看到看门狗确实会复位内核。

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    您能否向您的硬件团队咨询、并告诉我当看门狗遇到 UNDEF、数据和预取中止异常时、是否应禁用该看门狗?  

    此外、禁用看门狗的所有其他情况也会有所帮助

    谢谢!

    Ravi

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

    尊敬的 Ravi:

    您能否向您的硬件团队核实并告诉我当看门狗遇到 UNDEF、数据和预取中止异常时是否应禁用看门狗?  [报价]

    异常和看门狗功能它们都是独立的。

    如果未在配置的时间内满足内核要求、则看门狗功能是仅复位内核、而不管代码在何处挂起。

    是否可以将您的代码分享给我以便在我结束时调试此问题

    ——
    谢谢、此致、
    Jagadish。