原文: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()的执行流程参考: http://www./a/bianchengyuyan/_NET/20120611/128129.html 跟一下汇编,大概是__scatterload()->__rt_entry()->__user_setup_stackheap() 3、最后调用用户的main()函数。 4、可以不使用C库初始化函数__main()直接调用用户的main()【或别的定义!】,这个可以google一下。 相关文章: __main()和main():http://blog.csdn.net/eleven_yy/article/details/7751995 |
|