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.

[参考译文] TDA4VM:使用 R5F 内核中的 CPSR 寄存器全局禁用中断时 R5F VIM 的行为

Guru**** 2539500 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1010374/tda4vm-behavior-of-r5f-vim-when-interrupts-are-disabled-globally-using-cpsr-register-in-r5f-core

器件型号:TDA4VM

您好!

当使用 CPSR 寄存器中的 I 位全局禁用中断时、我有一个与 VIM 运行方式相关的问题。

考虑以下情况。

我有两个中断 IRQ1 IRQ2、IRQ2的优先级高于 IRQ1。 在 IRQ1_ISR 中、我触发优先级更高的 IRQ2。

这里在 VIM 中启用了 IRQ1和 IRQ2。


IRQ1_ISR{
1./*执行了一些操作*/
2.使用 CPSR 寄存器的 I 位禁用 CPU 上的中断。
通过写入 irqraw 寄存器来触发 IRQ2。
4、禁用 VIM 中的中断 IRQ2。
5.使用 CPSR 寄存器的 I 位启用 CPU 上的中断。
6./*执行了一些操作*/
7、使能 VIM 中的中断 IRQ2。
8./*执行一些操作。 *

IRQ2_ISR{
/*执行一些操作*/

这里的问题是、IRQ2_ISR 何时将在步骤5之后或步骤7之后调用。 我想知道硬件引导中的行为(使用引导程序接口处理 IRQ)
以及软件引导(使用 MMR 接口为 IRQ 提供服务)方法。

如果我在 VIM 中通过写入步骤4中的 irqstatus 寄存器来清除中断 IRQ2、那么预期的序列也是一件事。

此致、

Thulasiram C