Stack_Size EQU 0x00000200 这里相当于C语言里面的宏
AREA STACK, NOINIT, READWRITE, ALIGN=3 声明一个名为STACK的可读写段,8字节对齐
Stack_Mem SPACE Stack_Size 开辟一段大小为Stack_Size的内存空间
__initial_sp 地址标号,即STACK段空间顶地址
由于Cortex m3 设定每次上电复位后都从0x00地址处加载中断向量表,并且将中断向量表的第0个地址的数据加载入MSP作为栈顶地址。
所以在中断向量表的第0个地址出填写__initial_sp即STACK段空间顶地址。
同时在MDK的工程属性页面里设定“片上只读地址的范围”0x00至0x80000;在 LINK选项卡里面选择使用从Target里面得到内存布局。这样RESET段都可以被链接至0x00地址处而其中最开始的__Vectors地址标号所指定的__initial_sp即STACK段空间顶地址,至此芯片就在上电后通过中断向量表将MSP的值设置为__initial_sp的值了。