Cortex-M上电后从0x00000000读取MSP初始值和复位向量PC。启动文件(startup.s)定义中断向量表和Reset_Handler。SystemInit配置时钟后跳转到__main(C库初始化),最终进入main()函数。
链接脚本(.ld)定义内存布局:FLASH和RAM起止地址、段(section)映射。.text代码段放FLASH,.data已初始化全局变量从FLASH复制到RAM,.bss零初始化段清零。分散加载文件(.sct)在ARMCC中实现相同功能。map文件分析内存占用定位溢出。
|