main 函数执行以前,还会执行什么代码?

[复制链接]
2669|10
 楼主| ping~ 发表于 2019-5-9 10:11 | 显示全部楼层 |阅读模式
main 函数执行以前,还会执行什么代码?
下凡买烟 发表于 2019-5-9 11:12 | 显示全部楼层
帮你顶贴问问
tianxj01 发表于 2019-5-9 11:18 | 显示全部楼层

标准情况main函数前,单片机必须执行复位向量,复位向量后面,各家单片机处理不同,主要目的是处理DEBUG、IAP等过程的转移,然后才轮到main函数。
airwill 发表于 2019-5-9 21:19 | 显示全部楼层
启动代码,初始化内存,初始化堆栈指针等。象 STM32 这些还会初始化 PLL 时钟
Prry 发表于 2019-5-11 13:51 | 显示全部楼层
https://blog.csdn.net/qq_20553613/article/details/79568441
dirtwillfly 发表于 2019-5-12 22:26 | 显示全部楼层
有些嵌入式操作系统也会在main之前做很多初始化工作。比如rtt
autopccopy 发表于 2019-5-16 12:35 | 显示全部楼层
反正用户代码是main()开始的。 :)
hobbye501 发表于 2019-5-16 13:14 | 显示全部楼层
会执行引导程序。。。。
lihui567 发表于 2019-5-22 17:16 | 显示全部楼层
看你的硬件平台是啥了,51内核,ARM内核,main函数执行都不太一样的
王晓辉 发表于 2019-5-30 16:41 | 显示全部楼层
main函数之前执行什么,这个问题就比较泛了。其实楼主为什么不想想为什么是main函数为入口函数,而不是其他的诸如init函数之类?这就引申出一个问题,谁规定main函数为入口函数的?给个方向,楼主可以自己学习,一个编译链接脚本lds,一个是汇编代码.s文件。总的来讲,代码从哪里执行都是可以自由定义,main函数也是可以自由定义,主要你愿意,它也可以定义为init,probe等
steelen 发表于 2019-6-6 13:25 | 显示全部楼层
所有main()函数执行前都会执行一个初始化代码,一般是汇编编写的
主要功能,关闭中断,初始化时钟,初始化RAM,分配堆栈指针...
然后,调用 __main(),或者直接跳转  __main()
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

53

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部