進(jìn)入中斷后會(huì)自動(dòng)關(guān)中斷嗎?
如果不會(huì),硬件可以自動(dòng)保存caller saved registers,軟件保存系統(tǒng)寄存器mstatus, mepc之前被更高優(yōu)先級中斷搶占了怎么辦?
熱門產(chǎn)品 :
CH32V317: 互聯(lián)型青稞RISC-V MCU
進(jìn)入中斷后會(huì)自動(dòng)關(guān)中斷嗎?
如果不會(huì),硬件可以自動(dòng)保存caller saved registers,軟件保存系統(tǒng)寄存器mstatus, mepc之前被更高優(yōu)先級中斷搶占了怎么辦?
不會(huì)自動(dòng)關(guān)中斷,中斷被其他高優(yōu)先級的中斷打斷,從高優(yōu)先級中斷退出后會(huì)恢復(fù)之前的運(yùn)行狀態(tài)。如果介意中斷被其他中斷打斷,目前默認(rèn)是沒有開啟中斷嵌套功能的,開啟后中斷嵌套支持1級嵌套。
有沒有嵌套中斷的例子,能直接跑的。我覺得這里設(shè)計(jì)的有問題,不自動(dòng)關(guān)中斷而且硬件壓棧的上下文沒有mepc,就沒法從被打斷的中斷回到中斷前的位置了。
這里可以參考一下
我試了下嵌套中斷可以正常跑。但是沒法解釋自動(dòng)保存的寄存器里沒有mepc,你們確認(rèn)下qingkev4 spec是不是漏寫了。
這里可以調(diào)用嘗試一下。