总结编译调试错误,方便自己,也方便大家

2019-07-20 22:34发布

      由于学习STM32也不久,经常遇到一些编译调试的错误,但是老是找不到原因,多亏身边大侠的帮忙才得以解决。因此,将之前遇到的一些错误进行总结,方便以后自己查看,也希望能满足某些有需要的同行的需求。如果大家也有相关的经验,希望能写出来供大家分享。在此先谢谢啦!
      
      一、JILINK下载程序时,出现“ FLASH timeout,
Reset the Target and try it again ”错误

               遇到这个问题,要检测TARGET选择的芯片型号与你使用的芯片型号是否一致。我遇到过这个问题,就是因为我两个芯片型号不一致所引起
        的。具体错误如下所示:

                具体的修改过程如下所示:


                1、首先确定芯片的型号,如下所示:


                2、芯片型号选择好之后,接下来就需要选择下载器,我用的是JTAG,如下图所示。




                3、选择合适的FLASH算法配置。




                添加新的FLASH配置之后,将之前的FLASH配置删去,如下图所示。

                4、保存配置,重新编译之后就可以下载了。








友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
27条回答
I6believe
2019-07-21 02:17
                   二、JTAG在调试时出现“could not stop cortex-M device,please check the JTAG cable”

                 查看了多位网友的帖子,有以下几个原因(不一定都对呦):
                 
                 1、可能是因为将处理器的复位脚直接连接到GND,所以,没有复位信号来使MCU停止。

                 2、可能是JTAG的时钟配置的不正确,将其接到RTCK。

                 3、当系统的频率过高时,会导致该错误的发生。(换个频率较低的晶振,或者检查一下时钟配置,看是否是倍频设置的过高。)

                 4、看看你是否使用了看门狗,看门狗复位也会造成该错误的发生。

                 我的就是第四个原因,开启了看门狗,将看门狗关闭就可以使用JTAG调试了。

                三、JTAG调试时出现以下错误信息:

                        JTAG warning:CPU could not be halted
                        JTAG error:can not read register 0(R0) while CPU is running
                        JTAG error:can not read register 1(R1) while CPU is running
                              JTAG error:can not read register 2(R2) while CPU is running
                              ......
                
                    参考多位网友的帖子,原因可能有以下几点:
                    
                    1、设置debug->setting->dubug->connect & reset options -> reset 选项没有设置正确,应该设置为normal。

                2、BOOTO与BOOT1的设置是否正确。

                3、JTAG功能是否关闭。我的就是为了降低功耗将所有的IO都下拉所致,在调试的过程中,关闭该函数就可以了。










一周热门 更多>