如何拯救燒錯固件的單片機?(一)
在使用步兵主控開發(fā)板時(STM32F405RGT6,晶振 25M),使用原子的工程(STM32F4075ZGTx,晶振 8M)的 device 修改成 STM32F405RGT6 和必要的其它修改,程序下載后導致芯片不能繼續(xù)下載,可能的原因是晶振頻率修改錯誤,該錯誤解決辦法:
將 stm32f4xx.h和 system_stm32f4xx.c 的晶振頻率進行修改,如下所示:
由于步兵主控板芯片晶振頻率為25MHz,所以我們需要把晶振頻率進行修改,在這兩個地方進行修改,將8 都改為 25 就可以了,但是如果已經(jīng)導致不能下載程序,出現(xiàn)下面的警告:
使用以下方法解決(順序很重要):
先將 BOOT0 引腳置高電平,BOOT1 置低電平,然后復(fù)位,最后點擊下載,當正在下載時就可以將 BOOT0 引腳重新置為低電平。目的就是一開始讓芯片進入 bootloader 程序,此時就可以進行下載程序了。如果沒有復(fù)位按鍵,那么就可以先將 BOOT0 接入高電平(默認 BOOT0,BOOT1 一般是通過電阻接低電平的,所以此時只需將 BOOT0 引出接入高電平),然后上電(相當于復(fù)位了),最后點擊下載,當程序正在下載時就可以不接高電平了。
另外一個方法是使用 keil軟件 flash 菜單的擦除選項,首先擦除整個應(yīng)用程序(擦除的目的是讓單片機不運行錯誤的時鐘配置程序?qū)е鲁鲥e),然后點擊下載,前提還是需要修改文件并編譯后才能正常下載,這樣就不需要使用復(fù)位按鍵。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。