应该是函数调用的压栈操作是每个CPU都要做的事情,ARM或者51。
ARM初始化时,会把每个模式下的堆栈都初始化一下,就是跟据你设置的大小从堆栈的TOP地址开始分配一段地址空……
你的第一个问题,任务在运行期间可能会产生调用函数等的内存开销,这就需要一定大小的堆栈空间
你的第二个问题,任务在运行期间都是在其自己的堆栈空间中,其实这段空间就是一段内存地址,和……
uC/OS-II 为每一个任务定义其自己的堆栈,并存放到任务的OS_TCB结构的第一个指针,主要是为了方便任务之间的切换,作为实时操作系统,任务切换都用汇编来完成,这样的效率是不言……