分享

stm32 仿真时提示could not stop cortex-M 

 笔录收藏 2020-07-10
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有没有中断。崩溃了!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多