一、最基本的工作
1、准备RAM
如果是SRAM这步可以省略,但如果是SDRAM就需要配置一下时序才能使用。RAM是必须准备的,没有RAM将来的全局变量和堆栈在哪儿开辟。
2、准备SP
SP肯定是设置在RAM中。SP必须设置好,不然程序怎么跳转到C函数运行--需要入栈操作。
3、准备代码
对于处理器:
代码如果是在NorFlash上,直接可以运行,这一步骤也可省略。但是如果代码在非RAM接口的Flash上,就必须搬运到RAM中才行。即使在NorFlash上,有时我们也需要搬移,因为速度原因。
对于单片机:
因为程序本身就是在内部Flash上运行的,无需搬移。
4、跳到main
二、如果用到了全局变量
那么额外的还需要将全局变量中的已初始化全局变量加载到RAM中,为初始化的全局变量区进行清零。
三、更完善一下
1、设置系统时钟
2、初始化中断控制器
3、建立中断向量表
原文地址:http://www.cnblogs.com/amanlikethis/p/3719720.html