搜索
bottom↓
回复: 7

请问一下在RTT中栈是用来干嘛的啊

[复制链接]

出0入0汤圆

发表于 2014-11-28 21:49:34 | 显示全部楼层 |阅读模式
如题,我看每一个进程在创建的时候都会要这个东西,当然在系统也有栈的存在,STM32在启动代码中也会定义栈,不知道这个栈和那个RTT中的栈是否是一样的。最好能详细讲一下RTT是怎么利用这个栈的。

出0入0汤圆

发表于 2014-11-28 22:01:51 | 显示全部楼层
1、任务切换的时候。此次任务的上下文保存到进程栈中。

出0入0汤圆

 楼主| 发表于 2014-11-29 20:41:09 | 显示全部楼层
彼岸花开@ 发表于 2014-11-28 22:01
1、任务切换的时候。此次任务的上下文保存到进程栈中。

除此之外就没有了啊,那其实感觉也用不了多少嘛

出0入0汤圆

发表于 2014-11-29 20:55:49 | 显示全部楼层
lee88688 发表于 2014-11-29 20:41
除此之外就没有了啊,那其实感觉也用不了多少嘛

1、其他我也不清楚。。这个任务栈,是我前几天看书了解到的。
2、我也是新手、不能给出更多的帮助。

出0入8汤圆

发表于 2014-11-29 21:54:43 来自手机 | 显示全部楼层
本帖最后由 security 于 2014-11-29 22:08 编辑

任务上下文,
以及局部变量,就是函数内部的非静态变量,是在栈
函数执行过程所需要的额外栈,例如将LR,及其他寄存器压入栈
这些都是要求不同线程,压入不同的栈,才能保证不同线程不互相影响。

其他的与初始栈的差异,以及如何起作用,你只要查看下函数的反汇编代码,就可以看见SP在起作用,好好体会下SP,同时可以看看这个帖子,我的回复http://www.amobbs.com/thread-5604145-1-1.html,加深体会。

出0入0汤圆

 楼主| 发表于 2014-11-30 20:36:41 | 显示全部楼层
彼岸花开@ 发表于 2014-11-29 20:55
1、其他我也不清楚。。这个任务栈,是我前几天看书了解到的。
2、我也是新手、不能给出更多的帮助。
...

谢谢你们的回答,不过我想问一下看的是什么书啊,是关于RTOS的吗?可否分享一下。

出0入0汤圆

发表于 2014-11-30 21:05:43 | 显示全部楼层
1、一个国产的操作系统
2、是一个新的,还没有应用到项目中
3、是一个学习操作系统的好书
4、前几章见附件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2015-1-4 10:57:44 | 显示全部楼层
5楼说的基本了,每个任务都有一个独立的栈,栈的作用是在任务运行时为函数的局部变量分配空间以及函数嵌套时寄存器和返回地址的保存,另外在系统调度时保存任务当前运行的各个通用寄存器的值,以便任务再次运行时能继续之前的状态
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-9 07:01

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表