前言:这就必须要集成开发环境如keil,iar来背锅咯,它帮我们做了太多东西,以至于弱化了我们的能力。答:启动文件里,程序从0地址运行,执行跳转指令reset。然后初始化我们MCU时钟、看门狗、中断、设置栈(因为要调用C函数),代码重定位(需要把flash中RW-dota数据搬移到ram当中),最后执行绝对跳转到main函数运行。可以分析反汇编文件,看看具体程序的链接地址,你就知道程序是从main运行的地址。