堆栈的问题 SP指针

原创 2011年01月20日 21:23:00

为什么将SP设为 4096 设定之后怎么运行?是从4096开始写然后再写4095还是往4097写?4096是steppingstone的地址吗?
中断为什么设为3072?

 

 

S3C2410、S3C2440有内部RAM、外部的SDRAM,这些都被称为内存;
SP设在内存上,可以是内部RAM,也可以是SDRAM,只要不破坏当前运行的程序就可以了。


启动时首先执行内部RAM的4096,然后将NAND的代码移到SDRAM上执行:
答:在一开始,SDRAM是不可用的,所以在初始化SDRAM之前,如果想使用C函数,就要把SP设在内部RAM中。


此时将SDRAM的前4096设定为堆栈,4096后为代码区域,对不?
答:不对。程序要把开始运行时,这4096的内部RAM里有代码,这些代码初始化SDRAM、从NAND中读取全部代码到SDRAM中──完成这些功能的代码很小,不到4096字节,所以可以把SP设在4096处。

C语言及ARM中堆栈指针SP设置的理解与总结

1.首先来看什么是栈,百度这么说: 栈是一种特殊的线性表,是一种只允许在表的一端进行插入或删除操作的线性表。表中允许进行插入、删除操作的一端称为栈顶。表的另一端称为栈底。栈顶的当前位置是动态的,对栈...

MCS-51单片机存储器结构-特殊功能寄存器 :堆栈指针SP(Stack Pointer)

堆栈指针SP(Stack Pointer) 堆栈是一种数据结构,它是一个8位寄存器,它指示堆栈顶部在内部RAM中的位置。系统复位后,SP的初始值为07H,使得堆栈实际上是从08H开始的。但我们从RA...

理解LDM和STM多寄存器寻址 堆栈指针sp例子

堆栈寻址的命令LDMFA/STMFA、LDMEA/STMEA、LDMFD/STMFD、LDMED/STMED。       LDM和STM表示多寄存器寻址,即一次可以传送多个寄存器值。      ...

堆栈中的ss,bp,sp

各个寄存器的作用:http://zhidao.baidu.com/question/160825596.html?push=ql http://www.cnblogs.com/awpatp/archi...

{C语言} 堆、栈与堆栈SP

堆栈:一个"后进先出"( LIFO )的主存区域,位于堆栈段中,使用SS段寄存器记录其段地址。它只有一个出入口,即当前栈顶,栈顶是地址较小 的一端(低端),它用堆栈指针寄存器SP指定。堆栈有两种以字为...

为什么要使用堆栈? sp和fp的解释

 为什么要使用堆栈?     一个过程调用可以象跳转(jump)命令那样改变程序的控制流程, 但是与跳转不同的是, 当工作完成时,函数把控制权返回给调用之后的语句或指令。 这种高级抽象实现起...

c++ 堆栈的应用 跳马问题 改进版

  • 2010年01月27日 15:28
  • 690KB
  • 下载

利用堆栈方法解决迷宫问题

  • 2008年09月17日 12:21
  • 584KB
  • 下载

android智能指针sp wp详解

研究android的时候,经常会遇到sp、wp的东西,网上一搜,原来是android封装了c++中对象回收机制。说明:1. 如果一个类想使用智能指针,那么必须满足下面两个条件:    a. 该类是虚基...

堆栈的问题

  • 2014年05月24日 22:29
  • 34KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:堆栈的问题 SP指针
举报原因:
原因补充:

(最多只允许输入30个字)