STM32CUBEMX忘記配置sys中的debug導致程序只能下載一次的問題


STM32CUBEMX忘記配置sys中的debug導致程序只能下載一次的問題

問題現象:使用STM32CubeMX生成工程后,使用SWD下載,第二次無法下載。

問題所在:使用STM32CubeMX生成的工程,使用SWD下載,需要配置。

必需進行如下配置:SYS---debug--Serial Wire

 

          圖1-2 按reset鍵下載程序的現象

STM32芯片已經被鎖住了,無法正常下載程序,按reset鍵下載也無濟於事,這時候可進行如下操作必解決:

理論知識部分:

stm32的3種啟動模式:

 

 (1) 用戶閃存 : 正常的工作模式。STM32內置的Flash,一般我們使用JTAG或者SWD模式下載程序時,就是下載到這個里面,重啟后也直接從這啟動程序。

(2)SRAM:    芯片內置的RAM區, 就是內存,既然是SRAM,自然也就沒有程序存儲的能力了,這個模式一般用於程序調試。

(3)系統存儲器: 系統存儲器是芯片內部一塊特定的區域,STM32在出廠時,由ST廠家在這個區域內部預置了一段BootLoader,也就是我們常說的ISP程序,這是一塊ROM,出廠后無法修改。一般來說,我們選用這種啟動模式時,是為了從串口下載程序,因為在廠家提供的BootLoader中,提供了串口下載程序的固件,可以通過這個BootLoader將程序下載到系統的Flash中。但是這個下載方式需要以下步驟:

    Step1:將BOOT0設置為1,BOOT1設置為0,然后按下復位鍵,這樣才能從系統存儲器啟動BootLoader;

    Step2:最后在BootLoader的幫助下,通過串口下載程序到Flash中;

    Step3:程序下載完成后,又有需要將BOOT0設置為GND,手動復位,這樣,STM32才可以從Flash中啟動

實際操作部分:

BOOT0設置為1

BOOT1設置為0

然后使用MDK-ARM(keil5軟件或者其它軟件下載你的無問題的程序,最好是固件庫寫的程序,因為這個沒有什么debug配置沒配置的問題程序,下載完成后應該可以看到程序正常運行)

最后再將BOOT0改為0即可,記得將CUBEMX軟件里面配置好debug選項。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM