中断过来之后,由任务栈切换到main stack(系统栈)
任务栈保存
系统栈的地址范围为0xfede8000 4K,向下生长,所以按照ld的定义,0xfede9000 开始,切换到系统栈
这样可以减少任务栈的消耗。
jarl 跳转之后,sp恢复成__stack。
关于中断上线文切换前后,保存_pxCurrentTCB中的栈,最主要的目的是,因为task栈空间有限,如果发生了嵌套,栈有益处的风险,保存当前栈到_pxCurrentTCB中的topstack成员中,然后切换到主栈,为了防止益出。
切换过程如下:
需要考虑中断发生时当前是不是主栈,如果是咋不需要保存_pxCurrentTCB,如果不是主栈,则可直接做栈切换。