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.

[参考译文] AM3352:中断优先级阈值

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/672519/am3352-interrupt-priority-threshold

器件型号:AM3352

您好!

是否可以在中断例程内修改 PRIORITYTHRESHOLD?

目前、我们有一个将 PRIORITYTHRESHOLD 设置为"0x30"的中断
由于某些要求、我们需要将内部的阈值增加到0x08
中断服务例程、并在稍后将其返回0x30。

不幸的是,我们无法实现这一目标,我们的优先次序越来越低
中断(如0x10、0x20)、即使阈值设置为0x08也是如此。

下面是我们尝试实施的过程。

1>启用中断0x30的优先级屏蔽阈值(PRIORITYTHRESHOLD)
如 TRM 的"INTC 抢占式处理序列"中所述。
2>调用中断例程后、将 PRIORITYTHRESHOLD 值修改为0x08
以便屏蔽优先级低于或等于0x08的中断。
3>将 PRIORITYTHRESHOLD 值返回到原始值(0x30)。

如果这种使用是可能的、如果有的话、请允许我使用
实施建议。

使用的操作系统:这是一个非操作系统裸机应用程序。

此致
巴杜语

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    工厂团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    查看 TRM 的第6.2.3节。 您可能遇到了一个写过帐问题、即在 PRIORITYTHRESHOLD 实际写入之前触发新的较低优先级中断。 在写入 NEWIRQAGR 之前、确保 PRIORITHRESHOLD 寄存器正在写入、并确保在 ARM 上重新启用 IRQ 之前使用 DSB (或重新读取写入 PRIORITYTHRESHOLD 的值)。

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

    尊敬的 James:

    非常感谢您提供的信息。
    我们能够实施上述过程以暂时避免中断
    根据您的建议。

    但是、我们希望确认我们的程序是否正确。

    您能否确认是否需要读取中的活动中断优先级
    INTC_IRQ_Priority IRQPRIORITY 并将其写入以下过程中提到的 PRIORITYTHRESHOLD (1)字段?

    我们相信读取活动中断优先级和读取活动中断编号
    如果我们使用 PRIORITYTHRESHOLD 只是为了避免某些情况、则无需执行该过程中提到的操作
    中断。

    下面是我们用来将 PRIORITYTHRESHOLD 设置得更高以避免的顺序
    暂时中断。

    1.禁用 ARM 端的 IRQ。
    2.在修改 INTC_THRESHOLD 字段之前保存该字段。
    3.将 PRIORITYTHRESHOLD (1)字段写入预期值。
    5.在中断仍然存在的情况下向 INTC_CONTROL NEWIRQAGR 位写入1
      只允许更高优先级的中断挤占。
    6.使用数据同步边界来确保 IRQ 线路
      在 IRQ 前失效。
    7.在 ARM 端启用 IRQ。

    请告诉我这种用法是否可行。

    此致
    巴杜语

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Paddu、如果您已经知道要将优先级阈值设置为什么、我认为无需读取活动 int 优先级。
    如果要实现典型的中断优先级方案、则需要读取活动优先级、这是为了将阈值设置为与活动中断相同的值。

    此致、
    James