启动代码主要完成
1 硬件初始化,最起码的是要初始化堆栈指针。
2 C语言环境 在main函数调用之前要完成对一些变量的初始化。
3 应用初始化 这主要取决于你的应用。比如设置系统的晶振、时钟。
1)程序开始运行,系统启动代码首先要完成硬件初始化,比如说对堆栈的初始化。图中显示初始化堆栈指针为之前
预先定义好堆栈区域的末尾。
2)初始化变量初始值为0 的变量
3)初始化变量初始值为非0的变量,链接器将存储在ROM的初始值复制到相应的RAM中。
4)初始化应用(可选)
5)最后调用主函数
6)附录
关于C语言中变量的存储区域。
1、初始化和非初始化的变量都存放在内存区(RAM);
2、全局const被存放在代码区。
3、static存放在内存区(RAM)
4、对于数量少的局部变量一般是寄存器操作
5、对于数据量大的局部变量则采用是堆栈操作。