当前位置:   article > 正文

STM32 启动解析,启动代码,__main main_ldr r0, =__main

ldr r0, =__main

启动代码看这里:

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.rritw.com/a/bianchengyuyan/_NET/20120611/128129.html

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

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

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



声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/309624
推荐阅读
相关标签
  

闽ICP备14008679号