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有没有中断。崩溃了! |
|