完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32的堆栈增长方向是从高地址往低地址增长的,这样的话栈底应该是高地址咯。而下图的栈底却是低地址,查了很多资料,感觉都很矛盾。像INT8U OSTaskCreateExt 的第三个参数是栈顶指针,第六个参数是栈底指针,那么我定义堆栈空间STK[STK_SIZE] 。 &STK[STK_SIZE-1]是栈顶指针???&STK[0]是栈底指针???最先压入的不是栈底吗?求解答.
|
|
相关推荐
6个回答
|
|
uCOS提供的抽象接口,和底层的概念要分开来看。一个是uCOS的,一个是STM32的,不要搞混了。
|
|
|
|
楼主分清 栈底 栈顶 增长方向
|
|
|
|
栈、栈底/顶是抽象层的名词,要分开理解
|
|
|
|
我就感觉UCOSII中的栈底和栈顶和我以前理解的有误。以前理解的是,先压入的是栈底,栈顶指针指向最后压入的数据,但是上图UCOSII的堆栈检测中,栈底却在空闲的堆栈中。
然后OSTaskCreateExt();中的第三个参数是栈顶指针,第六个参数是栈底指针,我看到很多人把其赋值&STK[STK_SIZE-1]和&STK[0],此时的栈底指针不是&STK[STK_SIZE-1]吗? 求详细解答 |
|
|
|
这个图你理解错了吧。。栈底是高地址啊。。向上增长,最多能增长到deepest stack growth 这个是栈顶 。另外 你没有注意到当前的栈顶在已经用过的栈的那个小圆点的上方吗?
|
|
|
|
老哥你弄懂这个了吗?我的想法也是这样 ucosii里的栈顶和栈底和我们学的数据结构里的概念好像正好是相反的
|
|
|
|
只有小组成员才能发言,加入小组>>
813 浏览 0 评论
1162 浏览 1 评论
2535 浏览 5 评论
2871 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2719 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1111浏览 3评论
198浏览 2评论
465浏览 2评论
379浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
462浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 19:09 , Processed in 1.203372 second(s), Total 88, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号