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-MCU:上的 EP 组2和3通道

Guru**** 2024750 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/1452896/tms570lc4357-ep-esm-group-2-and-3-channels-on-the-mcu

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

工具与软件:

您好!

在我们项目的这个时候、我们将使用 TMS570LC43x LaunchPad 进行评估。 在使用 HalCoGen 工具将 TMS570LC4357ZWT 选为 MCU 后、我们观察到:

我们的问题:

  • 以上公式表明、在 TMS570LC43x 评估板的 TMS570LC43 MCU 上、 而变化 错误通道的组1可从其 ESM 获得? 如果是,那么它似乎与我们在这里所读的内容不一致:

请提供建议。 谢谢你。

John

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

    尊敬的 John:

    [报价 userid="6194" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1452896/tms570lc4357-ep-esm-group-2-and-3-channels-on-the-mcu "]以上是否表明在 TMS570LC43x 评估板的 TMS570LC43 MCU 上、 而变化 错误通道组1可从其 ESM 获得?

    否、组2和组3错误通道也可用。

    但是、如 TRM 中所述、可配置中断生成和可配置错误引脚行为仅适用于组1。

    这意味着、由于这些错误的严重性较低、我们可以配置这些错误是需要生成中断还是需要触发错误引脚。  但是、组2和组3错误的严重性较高、因此这些配置不可用。 这意味着组2和组3错误在发生时始终会触发 ERROR 引脚、此外组2错误将触发高优先级中断、组3错误将触发中止。

    请参阅此方框图一次:

    这就是为什么在 HALCoGen 中只给出了组1、该组可以具有可配置的中断和可配置的错误引脚行为。

    示例:

    通过启用以下行、我们可以启用组1中通道2的中断:

    同样、通过启用以下行、我们可以为组1中的通道2启用错误引脚行为、这意味着如果启用此错误后发生了该错误、则相应的错误将触发错误引脚为低电平。

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    感谢您一如既往地为我们提供信息、现在有了更多澄清。

    如果我可以进一步询问:

    • 由于 ESM 组2错误将生成不可屏蔽的中断、所以这意味着中的以下函数 hl_notification.c (由 HalCoGen 生成)将在一个组2中断发生时被简单执行、 之间的比较 启用 ESM 任何部分的用户代码?
    空洞 esmGroup2通知 (esmbase_t * ESMUint32通道)
    /* 在用户代码开始和用户代码结束之间输入用户代码。 */
    /*用户代码 begin (3)*/
    /*用户代码结束*/
    }
    我们实际上已经使用 CCMKEYR1寄存器(MKEY1字段被设定为0x9)来强制执行"CCM-R5F - CPU 比较错误"、这是一个 ESM 组2通道2错误。 然后、我们观察到 nERROR 引脚被拉至低电平、但是  esmGroup2通知 绝不会执行该函数。
    • 另外、我看到函数' esmGroup3通知 "在中 hl_notification.c 保护。 如果 ESM 组3错误没有产生任何中断、那么为什么 HalCoGen 生成这样的函数呢?
    • 您能否详细说明 ESM 组3错误将如何" 触发中止 "、那么这种中止会对在 MCU 上运行的软件产生什么影响?
    • 最后、您能否还提供一种简单的方法 摩擦力 ESM 可以检测到的错误、因此可以在任何 ESM 状态寄存器中置位一个标志?

    请提供建议。 谢谢!

    John

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

    尊敬的 John:

    对不起 ,因为延迟响应,我对其他问题感到很困惑。

    由于 ESM 组2错误将产生不可屏蔽中断、因此这是否意味着中的以下函数 hl_notification.c (由 HalCoGen 生成)将在一个组2中断发生时被简单执行、 之间的比较 启用任何 ESM 部分的用户代码?

    是的、与组1不同、你无需在 ESM 一侧启用任一中断。 对于组2错误、您将直接获得 ESM 通知。

    您唯一需要启用的是 VIM 模块中的 FIQ 中断、我们需要在代码中执行该操作。

    您可以看到、ESM 是 FIQ 中断、因此我们需要调用以下 API 来启用 FIQ 中断。

    无论组1还是组2、所有 ESM 中断都需要执行此操作。

    此外、我看到了函数' esmGroup3通知 "在中 hl_notification.c 保护。 如果 ESM 组3错误没有产生任何中断、那么为什么 HalCoGen 生成这样的函数?[/QUOT]

    是的、你是对的、组2错误不会生成任何中断。

    您也可以看到以下 API、此处没有组3通知调用:

    只存在用于 ESM 中断的第1组和第2组调用。

    此组3通知仅在启动代码调用。

    此处的任何复位后、我们只验证是否存在任何组3错误。 我的意思是、如果存在三组错误、我们将调用此通知函数。 正如我们讨论过的那样、组3没有 ESM 中断。

    ——
    谢谢、此致、
    Jagadish。

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

    谢谢 Jagadish。 您能否回答上面列出的最后3个问题? 这里重复了这些内容:

    • 正如您指出的、函数" _enable_interrupt_() "需要在初始化期间调用、然后在出现 ESM 组2错误时才能执行"esmGroup2Notification ()"。 您能告诉我们 " _enable_interrupt_ () "和" _ENABLE_IRQ_INTERRUPT_() "、请说?
      • 一个功能是启用" 频率 "另一个是启用" IRQ "? 两种中断类型之间的主要区别是什么?
    • 您能否详细说明 ESM 组3错误将如何" 触发中止 "、那么这种中止会对在 MCU 上运行的软件产生什么影响?
    • 最后、您还能否建议一种最简单的方法(如果与上述方法不同)  摩擦力  可以通过 ESM 检测到的错误?

    谢谢!

     

    John

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

    尊敬的 John Lu:

    正如您所指出的、函数" _enable_interrupt_() "需要在初始化期间调用、然后在出现 ESM 组2错误时才能执行"esmGroup2Notification ()"。 您能告诉我们 " _enable_interrupt_ () "和" _ENABLE_IRQ_INTERRUPT_() "、请说?
    • 一个功能是启用" 频率 "另一个是启用" IRQ "? 两种中断类型之间的主要区别是什么?
    [报价]

    API  _ENABLE_IRQ_INTERRUPT_ 将仅启用 IRQ。

    而 API  _enable_interrupt_ 将启用 IRQ 和 FIQ。

    由于 ESM 中断是 FIQ 中断、因此我们应该调用_enable_interrupt_ API 来启用 FIQ 中断。

    您还可以参考以下主题一次:

    (+) RM57L843:如何在 RM57Lx 上使用数字看门狗-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    在这里、客户需要使用看门狗 NMI 中断、以及它也是 ESM 组2中断、因此我们在这里观察到了实际问题、并且我们仅在使用_启用 FIQ 中断后才获得中断 ENABLE_INTERRUPT_  结构。

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    很抱歉,因为我们之前在假期,所以我们的回复很晚了。 感谢您的答复和耐心。

    另外、您能否回答这两个问题?

    • 您能否详细说明 ESM 组3错误将如何" 触发中止 "(如前所述)、那么此类中止对 MCU 上运行的软件的影响是什么?
    • 最后、您还能否建议一种最简单的方法(如果与上述方法不同)  摩擦力  可以通过 ESM 检测到的错误?

    谢谢!

    John

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

    尊敬的 John:

    据我所知、没有任何文档描述哪个 ESM 组3将触发哪个中止。

    这些 ESM 错误和中止的处理也取决于应用要求。 一些客户只会记录这些错误一些客户会执行重置。

    没有针对它们的特定程序。

    ——
    谢谢、此致、
    Jagadish。

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

    尊敬的 Jagadish:

    我认为、如参考手册所述、当存在第3组错误时、ESM 只会将来自 MCU 的错误输出信号置为有效。 这取决于误差输出信号在定制电路板上的连接方式。

    谢谢。

    John