stm32f103c8t6 bin文件中前4个字节是什么?
·
是栈顶地址!
系统上电后会先读这个地址给MSP寄存器。
这个地址怎么计算?

上图中栈顶地址是0x20000DA8。
参看上一片文章有关内存布局的介绍。
从.map文件的内存布局中计算。
0X200005a8(栈底)+0X800(栈大小)=0X20000DA8(栈顶)。
这个栈顶还能从哪里计算得到呢?
还能从编译窗口的编译结果计算得到:

520(RW-data) + 3332(ZI-data) = 3496 (十六进制的 0xDA8)。
这里的ZI-data表示初始化为0的数据:包括初始化为0的全局及静态变量 + 堆 + 栈。
更多推荐

所有评论(0)