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.
工具与软件:
您好!
在我们项目的这个时候、我们将使用 TMS570LC43x LaunchPad 进行评估。 在使用 HalCoGen 工具将 TMS570LC4357ZWT 选为 MCU 后、我们观察到:
我们的问题:
请提供建议。 谢谢你。
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:
感谢您一如既往地为我们提供信息、现在有了更多澄清。
如果我可以进一步询问:
请提供建议。 谢谢!
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个问题? 这里重复了这些内容:
谢谢!
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:
很抱歉,因为我们之前在假期,所以我们的回复很晚了。 感谢您的答复和耐心。
另外、您能否回答这两个问题?
谢谢!
John
尊敬的 John:
据我所知、没有任何文档描述哪个 ESM 组3将触发哪个中止。
这些 ESM 错误和中止的处理也取决于应用要求。 一些客户只会记录这些错误一些客户会执行重置。
没有针对它们的特定程序。
——
谢谢、此致、
Jagadish。
尊敬的 Jagadish:
我认为、如参考手册所述、当存在第3组错误时、ESM 只会将来自 MCU 的错误输出信号置为有效。 这取决于误差输出信号在定制电路板上的连接方式。
谢谢。
John