stm32程序烧录完不执行不工作

情况:

使用stm32f103vet6,工程在某一次修改后(称为新版本工程),编译无错误,但是烧录后,程序不执行,
电路板有4个led灯,程序设置了初始化时直接点亮4个led灯。
但是,在这一次修改工程后,烧录完灯不亮,

测试:

多次测试,
发现使用老版本的工程仍然可以正常使用,排除硬件故障。
继续测试,
发现老版本和新版本工程的区别,在于使用了stm32cubemx不同的版本配置,老版本工程使用了stm32cubemx6.1.2版本,新版本工程使用了stm32cubemx6.3.0版本,
继续测试,即使是老版本工程,只要是用stm32cubemx6.3.0配置过,也会出现编译无错误,但是烧录后,程序不执行的现象

解决方案:

使用老版本工程,然后绕过stm32cubemx,通过手动配置项目,修改代码,直接编译烧录,发现可以正常运行。

具体原因:

不清楚,可能6.3.0版本cubemx有bug?
修改时间:2021.9.18 :21:34
被另一位同事修改了代码,某个二维数组大小被出于节省内存空间的目的,减小了。导致了内存溢出,新版本工程是我从同事那里拿来直接改的,老版本工程是我自己写的,所以出现了以上情况。

最后:

如果有人遇到这种情况,请留言告知,通过总结大家遇到的情况,也许能找到真正的原因?
修改时间:2021.9.18 :21:34
各位在联合开发的时候,引以为戒吧。。。

更新

用了一个printf(),但是printf没有重定位到串口1。
也出现了烧录不工作。

你可能感兴趣的:(笔记,stm32)