Arm 同一中断一次可以处于挂起状态多少次?(在臂CM-3中)

Arm 同一中断一次可以处于挂起状态多少次?(在臂CM-3中),arm,linux-device-driver,drivers,cortex-m3,firmware,Arm,Linux Device Driver,Drivers,Cortex M3,Firmware,找不到问题的答案 同一中断一次可以处于挂起状态多少次?(在臂CM-3中) e、 g: 我们正在处理一个中断INT_RX,同时又收到3个数据包。因此,我预计这个中断会连续出现3倍多。它会被通知三次、一次还是一次都没有?如果处理器一开始不为ISR(中断服务例程)提供服务,就无法检查以后发生了多少Rx中断。似乎您的Rx ISR工作不正常,或者由于优先级原因,除Rx之外,还有太多其他INT得到了服务。几乎没有;您的中断例程不仅应该服务于一个数据包,还应该服务于所有未完成的数据包。处理一个中断、返回然后立

找不到问题的答案 同一中断一次可以处于挂起状态多少次?(在臂CM-3中) e、 g:


我们正在处理一个中断INT_RX,同时又收到3个数据包。因此,我预计这个中断会连续出现3倍多。它会被通知三次、一次还是一次都没有?

如果处理器一开始不为ISR(中断服务例程)提供服务,就无法检查以后发生了多少Rx中断。似乎您的Rx ISR工作不正常,或者由于优先级原因,除Rx之外,还有太多其他INT得到了服务。

几乎没有;您的中断例程不仅应该服务于一个数据包,还应该服务于所有未完成的数据包。处理一个中断、返回然后立即再次被中断是很昂贵的。这是最坏的情况;因此,如果有额外的中断,中断处理程序应该继续处理。细节将取决于特定的硬件,但出于上述原因,除非代码空间非常宝贵,否则以这种方式使用是不好的。您的实验显示了什么?我也向arm社区发布了相同的问题。你可以在那里查看答案当我没有得到问题的答案时,我将同样的内容发布到arm社区,你可以在那里查看。每个人都在说,只有一个中断可以处于挂起状态。但我能看到不止一个人,可能做错了什么。