could not stop cortex-M device又出新问题了!大神求助!

2019-10-15 22:36发布

最近在做一个项目,使用的芯片型号是STM32F103VE第一次用stm32遇到这么多问题的,整个人都不好了,感觉身体被掏空!实在是不行了,所以求论坛上求救!!
废话不多说了。先从could not stop cortex-M device这个问题来引发吧!

先上个问题提示图片吧!
1、出现could not stop cortex-M device,是在在线调试的时候运行到了GUI_Init函数的时候死掉报这个错误。PS:工程上我后面使用了STemWin来做GUI
2、在网上看别人的解答方法:
a、连接线太长了
b、可能是因为将处理器的复位脚直接连接到GND,所以,没有复位信号来使MCU停止。
c、可能是JTAG的时钟配置的不正确,将其接到RTCK。
d、当系统的频率过高时,会导致该错误的发生。(换个频率较低的晶振,或者检查一下时钟配置,看是否是倍频设置的过高。
e、看看你是否使用了看门狗,看门狗复位也会造成该错误的发生。
上述的解决方法都一一排除了。
排除的思路:
a、因为之前一直使用都没有问题。
b、这个硬件上已经检查过没问题了。
c、程序上因为要使用PB3所以,禁用jtag功能只使用sw模式。把禁止注释掉了,有时候能正常,有时候还是不正常,所以根本问题不在这。
d、时钟频率一直都用72MHz跑,没有做超频。不是这个问题
e、程序上没有调用看门狗。
3、自己尝试解决,出现的问题。
a、把microlib打上勾,发现可以了,这个时候我设置的优化级别是1。但是我把优化级别设置为0,或者使用抗锯齿画多边形填充框,设置了处理因子,程序有出现这个问题了。所以还不是根本的原因。

使用microlib

优化级别为1
总的来说整个工程就是怪怪的,根本让人很揪心。有时候添加了一些无关紧要的代码也会导致程序跑飞,不能正常运行。我怀疑过是内存溢出,或者访问越界等问题,但是在handle fault有没有中断。崩溃了!
现在的都不懂如何定位问题了。求各位大神帮助下小弟!!

最新的情况是,我把GUI部分移除掉,程序就能正常了。这到底是什么情况了?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。