很多同学在看启动文件时会有一个问题:启动文件的---main和我们自己写的main函数有什么关系吗?__main是在keil自带的库函数,在这里面又调用我们自己写的main函数



我们之前用isp串口下载程序,串口下载通过bootloader启动烧写到Main Flash

单片机都是从0地址开始执行的,而0x0000 0000Aliased to Main Flash or Boot loader作为跳转到其他地址使用

取出的MSP存在R13SP寄存器里 ,取出PC初始值(Reset Handler复位函数的地址)存到R15


hex文件包含了bin文件
我们可以通过J-Flash打开bin文件

内存栈


绿色部分就是我们设置的栈大小

__main会把全局变量放到内存的data段