之前,是大体了解了MDK下的__main函数所做的事情,一直没有深究,最近突然很想知道,MDK下在程序运行到我们用户定义的main()函数前,到底做了些什么,想看看ARMCC编译器默默地为我们做了哪些工作。 想知道这些细节,其实还是在一次使用rtt OS 时,发现了一个编译器相关的知识点:int $Super$$main(void); int $Sub$$main(void);之前不了解这个知识点的用法,后来看了MDK的help文件后才会使用,所以对编译器做的事情感兴趣,就有了下面的__main分析; 说明:内容结合工程下的.map .axf文件,以及.AXF的反汇编文件,LED工程代码,从上电-----到用户main()函数的所有流程,都有详细的分析和介绍,并配有大量的图片进行说明,只要你按照流程过一遍,都能明白的; 熬了两个夜整出来的,如果觉得分析的不错,对你的学习有帮助,还请多多支持 如果,发现文档中有不对的地方,还请详细指出来,不要吝啬,共同进步; 资料我以压缩包形式上传,这里只贴两个图; |
联系客服