Chinaunix首页 | 论坛 | 博客
  • 博客访问: 950199
  • 博文数量: 175
  • 博客积分: 2788
  • 博客等级: 少校
  • 技术积分: 2060
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-25 12:25
个人简介

知之者不如好之,好之者不如乐之

文章分类

全部博文(175)

文章存档

2016年(1)

2015年(20)

2014年(8)

2013年(68)

2012年(16)

2011年(35)

2010年(1)

2008年(26)

分类: 嵌入式

2015-01-31 07:12:30

原文:http://blog.csdn.net/lanmanck/article/details/8252560

启动代码看这里:

http://blog.csdn.net/chehlcy/article/details/5164472

在启动文件我们看到了__main和用户写的main,这2个是有区别的,大概流程如下:


1、复位第一条指令:Reset_Handler   PROC,这里指定为 LDR     R0, =__main。表示调用库函数__main,当然,我们可以在__main前做点事情,比如PLL初始化等。

2、__main()的执行流程参考:

跟一下汇编,大概是__scatterload()->__rt_entry()->__user_setup_stackheap()

3、最后调用用户的main()函数。

4、可以不使用C库初始化函数__main()直接调用用户的main()【或别的定义!】,这个可以google一下。


相关文章:
__main()和main():http://blog.csdn.net/eleven_yy/article/details/7751995

阅读(1420) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~