打印

怎样理解ARM堆栈

[复制链接]
5390|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sdzhang1|  楼主 | 2008-5-22 08:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在正在学习ARM,可学到堆栈时就开始迷糊了,ARM的堆栈的位置和大小怎样处理,望大家给个建议

相关帖子

沙发
dld2| | 2008-5-22 09:01 | 只看该作者

堆和栈是两码事

使用特权

评论回复
板凳
sdzhang1|  楼主 | 2008-5-22 09:05 | 只看该作者

能说的详细点吗

2楼的能说的详细点吗

使用特权

评论回复
地板
dld2| | 2008-5-22 09:08 | 只看该作者

lz能问得具体点吗

使用特权

评论回复
5
sdzhang1|  楼主 | 2008-5-22 09:16 | 只看该作者

ARM堆栈

感谢这面快就回帖!!我的意思是这样我在移植UCOSII操作系统,要定义各个任务的堆栈,也有现成的例子,可我不能深入理解堆栈的定义和作用?

使用特权

评论回复
6
dld2| | 2008-5-22 09:35 | 只看该作者

Re

栈本身代表先入后出(与FIFO的队列相对照),是一种基本数据结构。
处理器和编译器用栈来保存函数调用和中断处理时的上下文、以及局部变量等。

带操作系统时,任务堆栈的作用相仿,用来保存任务的上下文。
任务定义时,分配好每个任务的堆栈大小,初始化栈顶位置并保存。任务切换时,先在当前任务堆栈保存上下文,保存栈指针;然后修改SP到目标任务的栈指针,再弹出目标任务的上下文,然后就可以执行目标任务了。

使用特权

评论回复
7
computer00| | 2008-5-22 09:42 | 只看该作者

栈是用来给你保存一些临时变量什么的用的,C编译器也直接

使用特权

评论回复
8
dld2| | 2008-5-22 09:45 | 只看该作者

圈圈帮看看六楼描述有没有错误

thx

使用特权

评论回复
9
computer00| | 2008-5-22 10:05 | 只看该作者

呵呵,基本上都是这样子的。

使用特权

评论回复
10
sdzhang1|  楼主 | 2008-5-22 13:52 | 只看该作者

知道那么点意思了

知道那么点意思了,我再看看书仔细查一下,谢谢!!

使用特权

评论回复
11
walnutcy| | 2008-5-22 23:30 | 只看该作者

首先理解了堆和栈是什么就OK了,

使用特权

评论回复
12
活的精彩| | 2008-5-23 17:27 | 只看该作者

大大的才才 fr

国内国际后购买你

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

31

帖子

0

粉丝