OS_STK_GROWTH宏的目的就是用来标示当前堆栈是向上还是向下生长的,这个宏理解没问题
但是当对应上ptos、pbos时,我就疑惑了,俩个参数分别对应的是栈顶和栈底指针,当栈初始化为空的时候,这俩个地址应该相等,
而在ucos里面初始化idle任务时,当OS_STK_GROWTH = = 1时(堆栈从高往低生长),ptos == &OSTaskIdleStk[OS_TASK_IDLE_STK_SIZE - 1];
pbos == &OSTaskIdleStk[0]; 我的理解应该是ptos == pbos == OSTaskIdleStk[OS_TASK_IDLE_STK_SIZE - 1]; 因为栈的概念,栈底应该不变,栈顶指针不停的增减
看代码注解pbos 指的就是bottom of stack,看下图