JLINK調試問題總結

STM32學習的總結編譯調試錯誤

2013-10-23 21:30| 發佈者: admin| 查看: 1980| 評論: 1|原作者: admin

摘要: 由於學習STM32也不久,經常遇到一些編譯調試的錯誤,但是老是找不到原因,多虧身邊大俠的幫忙才得以解決。因此,將之前遇到的一些錯誤進行總結,方便以後自己查看,也希望能滿足某些有需要的同行的需求。如果大家也 ...
      由於學習mcu.com/9mcubbs/forum.php?mod=viewthread&tid=1005681" class="relatedlink">STM32也不久,經常遇到一些編譯調試的錯誤,但是老是找不到原因,多虧身邊大俠的幫忙才得以解決。因此,將之前遇到的一些錯誤進行總結,方便以後自己查看,也希望能滿足某些有需要的同行的需求。如果大家也有相關的經驗,希望能寫出來供大家分享。在此先謝謝啦!
      
      一、JILINK下載程序時,出現“ FLASH timeout,Reset the Target and try it again ”錯誤

               遇到這個問題,要檢測TARGET選擇的芯片型號與你使用的芯片型號是否一致。我遇到過這個問題,就是因爲我兩個芯片型號不一致所引起
        的。具體錯誤如下所示:
62197aa567b2b7f355d316727426e97f_240.jpg 
                具體的修改過程如下所示:


                1、首先確定芯片的型號,如下所示:
a6dd381c9cce976a0cd275f3943257e8_616.jpg 

                2、芯片型號選擇好之後,接下來就需要選擇下載器,我用的是JLINK,如下圖所示。

f2c29fd4eaab0a2874e13747314a97d9_49.jpg




0abbd9ba40a2d11e7fede4ac037555e8_204.jpg 

                3、選擇合適的FLASH算法配置。




6edc517842679c658183fe969e7b9c34_18.jpg 
225099d4f1d879edbba21a83917e2304_736.jpg 

                添加新的FLASH配置之後,將之前的FLASH配置刪去,如下圖所示。


c530208b6c9b4542329fcf0f1e32ec8d_918.jpg 

                4、保存配置,重新編譯之後就可以下載了。




          二、JLINK在調試時出現“could not stop cortex-M device,please check the JTAG cable”

                 查看了多位網友的帖子,有以下幾個原因(不一定都對呦):
                 
                 1、可能是因爲將處理器的復位腳直接連接到GND,所以,沒有復位信號來使MCU停止。

                 2、可能是JTAG的時鐘配置的不正確,將其接到RTCK。

                 3、當系統的頻率過高時,會導致該錯誤的發生。(換個頻率較低的晶振,或者檢查一下時鐘配置,看是否是倍頻設置的過高。)

                 4、看看你是否使用了看門狗,看門狗復位也會造成該錯誤的發生。

                 我的就是第四個原因,開啓了看門狗,將看門狗關閉就可以使用JLINK調試了。

                三、JLINK調試時出現以下錯誤信息:

                        JLINK warning:CPU could not be halted
                        JLINK error:can not read register 0(R0) while CPU is running
                        JLINK error:can not read register 1(R1) while CPU is running
                              JLINK error:can not read register 2(R2) while CPU is running
                              ......
                
                    參考多位網友的帖子,原因可能有以下幾點:
                    
                    1、設置debug->setting->dubug->connect & reset options -> reset 選項沒有設置正確,應該設置爲normal。

                2、BOOTO與BOOT1的設置是否正確。

                3、JLINK功能是否關閉。我的就是爲了降低功耗將所有的IO都下拉所致,在調試的過程中,關閉該函數就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章