打印

图示启动代码

[复制链接]
1012|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

启动代码主要完成

1  硬件初始化,最起码的是要初始化堆栈指针。

2  C语言环境   在main函数调用之前要完成对一些变量的初始化。

3  应用初始化   这主要取决于你的应用。比如设置系统的晶振、时钟。


沙发
monkeypony|  楼主 | 2015-5-27 22:41 | 只看该作者
)程序开始运行,系统启动代码首先要完成硬件初始化,比如说对堆栈的初始化。图中显示初始化堆栈指针为之前
预先定义好堆栈区域的末尾。

使用特权

评论回复
板凳
monkeypony|  楼主 | 2015-5-27 22:42 | 只看该作者
2)初始化变量初始值为0 的变量

使用特权

评论回复
地板
monkeypony|  楼主 | 2015-5-27 22:42 | 只看该作者
3)初始化变量初始值为非0的变量,链接器将存储在ROM的初始值复制到相应的RAM中。

使用特权

评论回复
5
monkeypony|  楼主 | 2015-5-27 22:43 | 只看该作者
4)初始化应用(可选)
5)最后调用主函数

使用特权

评论回复
6
monkeypony|  楼主 | 2015-5-27 22:43 | 只看该作者
6)附录
关于C语言中变量的存储区域。
1、初始化和非初始化的变量都存放在内存区(RAM);
2、全局const被存放在代码区。
3、static存放在内存区(RAM)
4、对于数量少的局部变量一般是寄存器操作
5、对于数据量大的局部变量则采用是堆栈操作。

使用特权

评论回复
7
vivilzb1985| | 2015-6-8 19:35 | 只看该作者
对时钟的初始化设置很重要。

使用特权

评论回复
8
shenmu2012| | 2015-6-10 19:44 | 只看该作者
在main函数调用之前要完成对一些变量的初始化。初始化是很重要的,,初始化的过程也是检查外设工作好坏的过程。

使用特权

评论回复
9
firstblood| | 2015-6-11 19:11 | 只看该作者
monkeypony 发表于 2015-5-27 22:43
4)初始化应用(可选)
5)最后调用主函数

这样的做法我还没做过的,可以试试的了。

使用特权

评论回复
10
Thefantasy| | 2015-6-16 09:24 | 只看该作者
学习了,讲解的很详细。我一直以为初始化不可以在bootloader中调用的。

使用特权

评论回复
11
baimiaocun2015| | 2015-6-17 21:44 | 只看该作者
一般的代码设计的,在初始化部分是很关键的。

使用特权

评论回复
12
冒泡的鱼儿| | 2015-6-18 21:12 | 只看该作者
收藏下,这个讲解的很详细。

使用特权

评论回复
13
豆腐块| | 2015-7-3 21:17 | 只看该作者
时钟的初始化设置很重要的

使用特权

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

本版积分规则

133

主题

715

帖子

0

粉丝