你可以看下bootloader程序在进入main时候的指针在什么位置,如果不是0x08000000,那应该就能解释你的疑问了。
stm32启动之后其实是先运行。s文件,里面分配了堆栈空间,然后初始化了时钟什么的,然后再跳转到main的,其实就是stm32本身的一个bootload程序,所以你仿真能看到的不是设置的这个地址。具体你可以看看STM32从启动到main之间做了什么。