STM32启动BOOT0 BOOT1设置方法 [
生活随笔
收集整理的這篇文章主要介紹了
STM32启动BOOT0 BOOT1设置方法 [
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
不同的下載方式對應(yīng)STM32啟動方式也不同,如下圖是STM32三種啟動方式:
? ? ● 第一種啟動方式是最常用的用戶FLASH啟動,正常工作就在這種模式下,STM32的FLASH可以擦出10萬次,所以不用擔心芯片哪天會被擦爆!
? ? ● 第二種啟動方式是系統(tǒng)存儲器啟動方式,即我們常說的串口下載方式(ISP),不建議使用這種,速度比較慢。STM32 中自帶的BootLoader就是在這種啟動方式中,如果出現(xiàn)程序硬件錯誤的話可以切換BOOT0/1到該模式下重新燒寫Flash即可恢復(fù)正常。
? ? ● 第三種啟動方式是STM32內(nèi)嵌的SRAM啟動。該模式用于調(diào)試。
在使用開發(fā)板時不小心下載了個有問題的程序,然后就悲劇了。無法往芯片中燒寫程序了。每次想下載程序都會彈出如下的兩個錯誤對話框:
J-Link和STM32 芯片都不大可能就這么壞掉了。多半是燒寫進去的軟件有些問題,占用了相應(yīng)的IO 管腿,導(dǎo)致無法利用J-Link與之通訊。那就想辦法不讓這個錯誤的程序運行了。例如下述代碼如果燒寫進去的話就會造成J-Link下次不能正常連接:
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
上述代碼表示取消JTAG引腳功能,開始SWD引腳功能。
STM32 中是自帶了BootLoader的,切換進BootLoader 中就可以了。具體的方法就是通過BOOT1、BOOT0兩個跳線來選擇啟動模式。修改跳線將啟動模式切換為上述的第二種方式:BOOT0=1,BOOT1=0。
斷電,改跳線,重新上電,進入第二種方式:BOOT0=1,BOOT1=0,即STM32的BootLoader 模式。此時J-Link可以正常工作了,用J-Link 下載新的程序,下載成功。再斷電,把跳線改回來第一種啟動方式(BOOT0=0,BOOT1=0),重新上電,一切正常,問題解決。
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
總結(jié)
以上是生活随笔為你收集整理的STM32启动BOOT0 BOOT1设置方法 [的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 树莓派GPIO驱动原理
- 下一篇: stm32f103 rtc 获取