轉自:http://www.javashuo.com/article/p-hlrfovsk-gs.html.net
問題1:不一樣線程/進程擁有着不一樣的棧,那系統全部的中斷用的是同一個棧嗎,那意味着不支持中斷嵌套,若是中斷能夠被打斷,那麼不一樣中斷必須使用不一樣棧,不然如何管控,怎麼理解這個問題?線程
M3的雙堆棧(PSP/MSP), ucos舉例,在不使用OS的時候,中斷和非中斷都是用PSP,而使用OS(ucos)則main和中斷使用MSP,線程使用PSP,這裏是經過CONTROL[1]爲0和1決定的,全部中斷擁有着一個主堆棧,blog
Push eight registers:xPSR,PC,LR,R12,R3,R2,R1,R0進程
問題2:M3,M4中斷嵌套和NVIC的Group怎麼理解?get
M3/M4的和A9核自己是支持中斷嵌套的,也就是NVIC(Nested Vectored Interrupt Controller)thread
可是系統未必支持co