转自: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