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.

[参考译文] AM2634:IRQPRIMSK 寄存器的运行时序应该是什么? 为什么修改操作 IRQPRIMSK 寄存器的代码(添加延迟指令和回读)可以解决问题?

Guru**** 2439560 points
Other Parts Discussed in Thread: AM2634

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1542819/am2634-what-should-be-the-operation-timing-sequence-for-the-irqprimsk-register-why-did-modifying-the-code-for-operating-the-irqprimsk-register-adding-delay-instructions-and-readback-solve-the-problem

器件型号:AM2634


工具/软件:

在 AM2634 芯片工程中、客户通过使用 IRQPRIMSK 寄存器屏蔽中断优先级方法来禁用中断响应。 发现、将 IRQPRIMSK 寄存器设置为 0 后、优先级为 15 的 IPC 中断无法被屏蔽、并且仍会进行响应。 但是、未发现同一工程中的其他中断不可屏蔽。 修改 IRQPRIMSK 寄存器代码后、问题已解决、并且在运行超过 12 小时期间未观察到任何再次发生。 有关详细的问题说明和代码修改、请参阅附件。 由于我们目前正在调整 AM2634 和 AM263p 芯片、这两个芯片使用 IRQPRIMSK 寄存器来屏蔽中断优先级、因此其操作方法是相同的。 IRQPRIMSK 寄存器由 TI 芯片的 VIM 模块进行管理。 我们希望 TI 专家可以协助调查和回答以下问题。 1.与其他中断相比,IPC(进程间通信)中断的触发和禁用机制有何不同? 为什么工程项目中触发频率较高的 RTI(实时中断)和 CAN(控制器局域网)中断不会出现禁用中断故障的问题、而该问题仅在 IPC 中断中观察到。 2.客户端在 AM2634 和 AM263p 工程中利用 IPC 中断。 AM2634 工程中发现了该问题、但在 AM263p 工程中未观察到无法禁用 IPC 中断。 AM2634 和 AM263p 中的 VIM 和 IPC 模块之间是否有任何差异? 为什么会出现这种现象? AM263p 是否也面临 IPC 中断无法被屏蔽的风险? IRQPRIMSK 寄存器的运行时序应该是什么? 为什么修改操作 IRQPRIMSK 寄存器的代码(添加延迟指令和回读)可以解决问题? 请帮助确认此方法是否可以解决当前问题。 该方法能否解决所有中断的无效中断优先级屏蔽问题?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 

    很抱歉、我们的雷达已经删除了这一信息、因此我们无法提前做出回应。 我正在调查这个问题。

    此致、
    Shaunak

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

    尊敬的 

    VIM 中存在与 IRQPRIMSK 相关的硬件错误、因此它不会立即生效、并具有重新触发中断等一些副作用 因此、我们看到在这里添加延迟是有效的。

    我们已在 SDK 中修复了此问题、并添加了正确的序列来屏蔽中断并将其恢复回来、这将是 2025 年 8 月下一个官方 SDK 版本 v11.0 的一部分。 我将分享更多的细节(希望通过星期四),一旦我们的代码库同步在公共 GitHub 上,所以我可以共享直接文件,你可以比较和观察的变化。

    AM263p 是否也面临 IPC 中断无法被屏蔽的风险? [/报价]

    是、因为这是与 IRQPRIMSK 相关的 VIM 硬件问题。

    此致、
    Shaunak

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

    您好、东软集团、

    TI FAE 内部分享了 IRQPRIMSK 实现补丁。

    查看此补丁后、如果您能够解决相同的问题、请告知我们

    谢谢。此致、

    Nikhil Dasan

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

    1.与其他中断相比,IPC(进程间通信)中断的触发和禁用机制有何不同? 为什么 工程项目中触发频率较高的 RTI(实时中断)和 CAN(控制器局域网)中断不会出现禁用中断故障的问题、而该问题仅在 IPC 中断中观察到。  

    答案:PriMask 的概念应仅取决于中断的优先级和中断类型(脉冲或电平)。 屏蔽和执行相同的操作仅取决于这 2 个参数。

    离线共享的文档说明了流程。

    2.客户端在 AM2634 和 AM263p 工程中利用 IPC 中断。 AM2634 工程中发现了该问题、但在 AM263p 工程中未观察到无法禁用 IPC 中断。 AM2634 和 AM263p 中的 VIM 和 IPC 模块之间是否有任何差异? 为什么会出现这种现象?  AM263p 是否也面临 IPC 中断无法被屏蔽的风险?  IRQPRIMSK 寄存器的运行时序应该是什么?  为什么修改操作 IRQPRIMSK 寄存器的代码(添加延迟指令和回读)可以解决问题?  请帮助确认此方法是否可以解决当前问题。 该方法能否解决所有中断的无效中断优先级屏蔽问题?

    答案:我建议使用 TI 提供的最新实施来尝试此操作、这应该会解决上述问题。

    谢谢。此致、

    Nikhil Dasan