日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

STM32 BOOT设置

發布時間:2023/12/31 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 STM32 BOOT设置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

三種BOOT模式

Main Flash memory
是STM32內置的Flash,一般我們使用JTAG或者SWD模式下載程序時,就是下載到這個里面,重啟后也直接從這啟動程序。

System memory
從系統存儲器啟動,這種模式啟動的程序功能是由廠家設置的。一般來說,這種啟動方式用的比較少。系統存儲器是芯片內部一塊特定的區域,STM32在出廠時,由ST在這個區域內部預置了一段BootLoader, 也就是我們常說的ISP程序, 這是一塊ROM,
出廠后無法修改。一般來說,我們選用這種啟動模式時,是為了從串口下載程序,因為在廠家提供的BootLoader中,提供了串口下載程序的固件,可以通過這個BootLoader將程序下載到系統的Flash中。但是這個下載方式需要以下步驟:
Step1:將BOOT0設置為1,BOOT1設置為0,然后按下復位鍵,這樣才能從系統存儲器啟動BootLoader
Step2:最后在BootLoader的幫助下,通過串口下載程序到Flash中
Step3:程序下載完成后,又有需要將BOOT0設置為GND,手動復位,這樣,STM32才可以從Flash中啟動可以看到, 利用串口下載程序還是比較的麻煩, 需要跳帽跳來跳去的,非常的不注重用戶體驗。

跳線帽插在BOOT0為高電平上,跳線之前要斷電,板子不能上電,CH340G也不能插到電腦上,然后插到電腦上就可以下載程序了

對的,就是要讓板從ISP啟動,所以跳線前不能上電,然后把CH340G插到電腦給板子供電,這樣處理后板子在下程序前是不運行狀態,是系統默認狀態,這樣PA9,PA10就是工作在串口狀態了,我是這樣認為的。這上面就一個跳線帽,就這樣插上就可以,下完程序要拿下來,不然以后上電會一直處于ISP狀態

Embedded Memory
內置SRAM,既然是SRAM,自然也就沒有程序存儲的能力了,這個模式一般用于程序調試。假如我只修改了代碼中一個小小的地方,然后就需要重新擦除整個Flash,比較的費時,可以考慮從這個模式啟動代碼(也就是STM32的內存中),用于快速的程序調試,等程序調試完成后,在將程序下載到SRAM中。

二、開發BOOT模式選擇。

1、通常使用程序代碼存儲在主閃存存儲器,配置方式:BOOT0=0,BOOT1=X;

2、Flash鎖死解決辦法:

開發調試過程中,由于某種原因導致內部Flash鎖死,無法連接SWD以及Jtag調試,無法讀到設備,可以通過修改BOOT模式重新刷寫代碼。

修改為BOOT0=1,BOOT1=0即可從系統存儲器啟動,ST出廠時自帶Bootloader程序,SWD以及JTAG調試接口都是專用的。重新燒寫程序后,可將BOOT模式重新更換到BOOT0=0,BOOT1=X即可正常使用

STM32三種啟動模式對應的存儲介質均是芯片內置的,它們是:

1. 用戶閃存=芯片內置的Flash。

2. SRAM=芯片內置的RAM區,就是內存啦。

3. 系統存儲器=芯片內部一塊特定的區域,芯片出廠時在這個區域預置了一段Bootloader,就是通常說的ISP程序。這個區域的內容在芯片出廠后沒有人能夠修改或擦除,即它是一個ROROMM區。

在每個STM32的芯片上都有兩個管腳BOOT0和BOOT1,這兩個管腳在芯片復位時的電平狀態決定了芯片復位后從哪個區域開始執行程序,見下:

BOOT1=xBOOT0=0從用戶閃存啟動,這是正常的工作模式。

BOOT1=0BOOT0=1從系統存儲器啟動,這種模式啟動的程 序功能由廠家設置。

BOOT1=1BOOT0=1從內置SRAM啟動,這種模式可以用于調試。

要注意的是,一般不使用內置SRAM啟動(BOOT1=1 BOOT0=1),因為SRAM掉電后數據就丟失。多數情況下SRAM只是在調試時使用,也可以做其他一些用途。如做故障的局部診斷,寫一段小程序加載到SRAM中診斷板上的其他電路,或用此方法讀寫板上的Flash或EEPROM等。還可以通過這種方法解除內部Flash的讀寫保護,當然解除讀寫保護的同時Flash的內容也被自動清除,以防止惡意的軟件拷貝。

一般BOOT0和BOOT1跳線都跳到0(地)。只是在ISP下載的情況下,BOOT0=1,BOOT1=0,下載完成后,把BOOT0的跳線接回0,也 即BOOT0=0,BOOT1=0。

摘自CSDN

  

總結

以上是生活随笔為你收集整理的STM32 BOOT设置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。