首页 > 代码库 > 启动文件需要做的工作

启动文件需要做的工作

一、最基本的工作

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、建立中断向量表