最近学习ucos2,关于任务栈哪边是栈顶哪边是栈底的问题?

来源:百度知道 编辑:UC知道 时间:2024/09/13 06:09:15
教材上的话:“.OSTCBStkBottom是指向任务堆栈栈底的指针。如果微处理器的栈指针是递减的,即栈存储器从高地址向低地址方向分配,则.OSTCBStkBottom指向任务使用的栈空间的最低地址。”
问题:堆栈不是从栈底开始增长的吗?如果按书上说的,分配方向为高地址--》低地址,栈底不就应该是起始的高地址端吗?

可不可以这样理解:
OSTCBStkBottom :指向栈的可用空间的最高(最低)地址
top --> 指向当前可以使用的单元
bottom就像是一条界限,不管栈的方向是递增还是递减,top指针都不能越过bottom指针

栈顶应该是指最开始压入的数据,栈底是指最後压入的数据,这样应该才能解释。

我也是这么觉得的,我认为是作者的概念错了,虽然他代码逻辑上的实现并没有错