2019-08-13 23:05发布
正点原子 发表于 2017-9-24 21:26 这是硬件设计和编译器结合处理的一个结果。你知道怎么回事就得问硬件启动过程,编译器编译过程。
shikihane 发表于 2017-9-25 09:27 单片机一复位,ARM第一行代码是运行0x04位置上的代码。启动文件编译完毕后,他就是被下载到最前端的,也就 ...
妙手书生 发表于 2017-9-25 09:39 嗯 ,启动文件(startupxxxxx.s )是在哪里设置 最开始默认启动的
最多设置5个标签!
单片机 刚启动时候,通过哪里设置,默认进入startupxx.s的, 是 设置 硬件启动过程,编译器编译,能具体点吗 ,网上搜了下 ,好像没结果啊
嗯 ,启动文件(startupxxxxx.s )是在哪里设置 最开始默认启动的
这个是链接器实现的功能,MDK5的链接脚本是这样写的:
--cpu Cortex-M3 *.o
--ro-base 0x08000000 --entry 0x08000000 --rw-base 0x20000000 --entry Reset_Handler --first __Vectors --strict --summary_stderr --info summarysizes --map --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers
--list ".ListingsLED.map"
所以 Reset_Handler __Vectors 是最前面的
链接的时候自动将.S启动文件链接为第一个文件!至于那里设置的?这是MDK直接这么选择的,如果搞过Makefile的文件的话对这个就很熟悉,因为Makefile需要你自己指定文件的链接顺序,而用MDK的话直接都帮你做好了。
一周热门 更多>