2014-04-10 25 views
1

我正在使用ARM Cortex-A9在Zynq7020中,並遇到軟件生成的中斷問題。ARM Cortex-A9軟件生成的中斷只觸發一次

當我生成核心(寫ICDSGIR寄存器)一個SGI ARM1它只能觸發一次,而不是再次,更多的寫入ICDSGIR不會觸發中斷。

在發送給ARM1的核心ARM0中生成SGI可以正常工作,但ARM1不會生成ARM1。

有沒有在ISR需要SGI任何特殊處理?我在配置中錯過了什麼?

+0

什麼操作系統您使用的?什麼是中斷驅動程序在做什麼?這些可以被掩蓋。每個GIC都有一些寄存器的私人副本。 –

+2

您是否在中斷處理程序的末尾將指示的ID寫回GICC_EOIR? – unixsmurf

+0

@ unixsmurf:謝謝!這解決了問題,我沒有意識到這是需要的,因爲來自ARM0的SGI工作正常。如果可以的話,我會將你的評論標記爲答案。 – qnyz

回答