可能的两个原因:
你目前的开发工具(IAR或keil)对低版本的工程不兼容导致,尤其是使用低版本软件打开高版本工程,很容易出现这个问题(PS:前几天我使用IAR就遇到这问题,在设置上下功夫没有任何作用),解决方法:使用你现在的开发工具新建工程,重新添加源代码(这个过程不熟悉的话请自行百度)
你的程序烧写最终的起始地址不对,STM32内部flash是从0x08000000这个地址开始执行的,若你的代码起始地址不是这个,就很容易出现问题。(起始这条可能不适用你的情况,这种情况的结果是仿真可以进入主函数的,但独立运行就不行了)。
在main里加个断点,全速运行可以试试