|
在创建任务时调用OSTaskStkInit(),在有的处理器移植中将堆栈指针寄存器压入该任务栈中(此时的堆栈指针寄存器的值是什么呢?)。当系统开始多任务时OSStart()会调用OSStartHighRdy(),将最高优先级的任务栈指针赋给SP,最后将该任务栈的内容压回CPU。这样CPU的SP就得到了最开始调用OSTaskStkInit()的值。但是系统的目的是想让SP指向最高优先级任务栈的顶部,这样开始的多任务的内容才能保存在该任务的堆栈中。我想问得是:在创建任务时调用OSTaskStkInit(),在有的处理器移植中将堆栈指针寄存器压入该任务栈中,此时的堆栈指针寄存器的值是什么呢? 是我理解的不对嘛?
|
|