Eagleson[size=4] 日拱一卒,功不唐捐 为者常成,行者常至 [/size] 兰生幽谷,不为莫服而不芳;舟行江海,不为莫乘而不浮;君子行义,不为莫知而止休
获得 236 次赞
帮助过488人
Cortex‐M3 拥有两个堆栈指针,然而它们是banked,因此任一时刻只能使用其中的一个: 主堆栈指针(MSP):复位后缺省使用的堆栈指针,用于操作系统内核以及异常处理例程(包括中断服务例程)。 进程堆栈指针(PSP):由用户的应用程序代码使用。堆栈指针的最低两位永远是0,这意味着堆栈总是4 字节对齐的。 由此可以看出,在一个系统里有两大部分,一是操作系统和中断,一是用户用户程序,他们使用的资源是不一样的,在任务调度的时候,中断(任务调度的中断)返回到用户程序所以要使用PSP。