RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

BOOT1和BOOT0引腳的狀態(tài)

STM32嵌入式開發(fā) ? 來源:STM32嵌入式開發(fā) ? 作者:STM32嵌入式開發(fā) ? 2022-07-06 16:32 ? 次閱讀

三種BOOT模式

所謂啟動(dòng),一般來說就是指我們下好程序后,重啟芯片時(shí),SYSCLK的第4個(gè)上升沿,BOOT引腳的值將被鎖存。用戶可以通過設(shè)置BOOT1和BOOT0引腳的狀態(tài),來選擇在復(fù)位后的啟動(dòng)模式,相關(guān)文章:詳解STM32啟動(dòng)文件。

012e3cc8-ec8c-11ec-ba43-dac502259ad0.png

Main Flash memory

是STM32內(nèi)置的Flash,一般我們使用JTAG或者SWD模式下載程序時(shí),就是下載到這個(gè)里面,重啟后也直接從這啟動(dòng)程序。

System memory

從系統(tǒng)存儲(chǔ)器啟動(dòng),這種模式啟動(dòng)的程序功能是由廠家設(shè)置的。一般來說,這種啟動(dòng)方式用的比較少。系統(tǒng)存儲(chǔ)器是芯片內(nèi)部一塊特定的區(qū)域,STM32在出廠時(shí),由ST在這個(gè)區(qū)域內(nèi)部預(yù)置了一段BootLoader, 也就是我們常說的ISP程序, 這是一塊ROM,

出廠后無法修改。一般來說,我們選用這種啟動(dòng)模式時(shí),是為了從串口下載程序,因?yàn)樵趶S家提供的BootLoader中,提供了串口下載程序的固件,可以通過這個(gè)BootLoader將程序下載到系統(tǒng)的Flash中。但是這個(gè)下載方式需要以下步驟:

Step1:將BOOT0設(shè)置為1,BOOT1設(shè)置為0,然后按下復(fù)位鍵,這樣才能從系統(tǒng)存儲(chǔ)器啟動(dòng)BootLoader

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

Step3:程序下載完成后,又有需要將BOOT0設(shè)置為GND,手動(dòng)復(fù)位,這樣,STM32才可以從Flash中啟動(dòng)可以看到, 利用串口下載程序還是比較的麻煩, 需要跳帽跳來跳去的,非常的不注重用戶體驗(yàn)。

Embedded Memory

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

開發(fā)BOOT模式選擇

通常使用程序代碼存儲(chǔ)在主閃存存儲(chǔ)器,配置方式:BOOT0=0,BOOT1=X。

Flash鎖死解決辦法

開發(fā)調(diào)試過程中,由于某種原因?qū)е聝?nèi)部Flash鎖死,無法連接SWD以及Jtag調(diào)試,無法讀到設(shè)備,可以通過修改BOOT模式重新刷寫代碼。相關(guān)文章:STM32的Flash寫了保護(hù)怎么辦?

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

原文標(biāo)題:STM32的啟動(dòng)模式配置與應(yīng)用

文章出處:【微信公眾號(hào):STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7484

    瀏覽量

    163762
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10895

    瀏覽量

    355729
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3785

    瀏覽量

    81003
  • Boot
    +關(guān)注

    關(guān)注

    0

    文章

    149

    瀏覽量

    35823

原文標(biāo)題:STM32的啟動(dòng)模式配置與應(yīng)用

文章出處:【微信號(hào):c-stm32,微信公眾號(hào):STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    單片機(jī)boot0boot1怎么設(shè)置

    單片機(jī)Boot0Boot1簡(jiǎn)介 Boot0Boot1是單片機(jī)啟動(dòng)模式選擇引腳,用于選擇單片機(jī)的啟動(dòng)模式。
    的頭像 發(fā)表于 08-22 09:50 ?2386次閱讀

    stm32讀取boot引腳狀態(tài)

    在STM32微控制器中,Boot引腳(通常指的是BOOT0BOOT1引腳)的狀態(tài)決定了設(shè)備啟動(dòng)
    的頭像 發(fā)表于 08-22 09:48 ?1277次閱讀

    STM32引腳中的BOOT1在哪里

    BOOT1引腳是一個(gè)用于選擇STM32微控制器啟動(dòng)模式的引腳。當(dāng)系統(tǒng)上電或復(fù)位時(shí),BOOT1的電平狀態(tài)將決定微控制器從哪個(gè)存儲(chǔ)介質(zhì)啟動(dòng)。
    的頭像 發(fā)表于 08-22 09:43 ?1824次閱讀

    stm32boot0boot1對(duì)應(yīng)哪個(gè)p引腳

    微控制器的啟動(dòng)模式。啟動(dòng)模式?jīng)Q定了微控制器在上電或復(fù)位后從哪個(gè)存儲(chǔ)介質(zhì)(如內(nèi)部閃存、外部NOR閃存、外部NAND閃存等)加載程序。BOOT0BOOT1引腳的組合可以設(shè)置多種啟動(dòng)模式。 在不同的STM32系列微控制器中,
    的頭像 發(fā)表于 08-22 09:40 ?2896次閱讀

    請(qǐng)問STM32F334好像沒有BOOT1引腳,怎么選擇啟動(dòng)模式?

    請(qǐng)問STM32F334好像沒有BOOT1引腳,怎么選擇啟動(dòng)模式呢
    發(fā)表于 05-29 07:52

    STM32F103XX引腳拉低時(shí),什么時(shí)候加下拉電阻,什么時(shí)候不加呢?

    想通過串口給stm32f103xx燒寫程序,這時(shí)boot0boot1,要設(shè)置為1:0模式,在給boot1
    發(fā)表于 05-08 07:58

    請(qǐng)問STM32怎么通過電路或程序自動(dòng)控制BOOT0的拉高拉低?

    STM32怎么通過電路或程序自動(dòng)控制BOOT0的拉高拉低? 比如說,我進(jìn)入程序之后通過某一引腳控制外部電路,從而拉高BOOT0,然后就會(huì)從ROM Code的Bootloader啟動(dòng),這時(shí)候我做完程序燒寫更新之后,再想把
    發(fā)表于 04-30 06:02

    STM32F103在不手動(dòng)修改BOOT0狀態(tài)下,只通過串口,如何升級(jí)程序?

    BOOT00改為1),才能把程序下載到芯片。 我的問題是:在不手動(dòng)修改BOOT0狀態(tài)下,只通過串口,如何升級(jí)程序?
    發(fā)表于 04-15 07:52

    STM32F407采用SFSBU BOOT0BOOT1怎么配置啟動(dòng)方式?有什么區(qū)別?

    STM32F407 采用SFSBU 官方安全模式的的啟動(dòng)boot, 分別2個(gè)應(yīng)用空間,用于存儲(chǔ)升級(jí)的新應(yīng)用的和運(yùn)行應(yīng)用,boot0boot1 這塊選擇具體怎么配置
    發(fā)表于 04-01 06:50

    串口燒錄需要設(shè)置BOOT0BOOT1,但STM32L0上也沒見BOOT1,該如何處理?

    看資料說串口燒錄需要設(shè)置BOOT0BOOT1,但芯片上也沒見BOOT1,該如何處理?
    發(fā)表于 03-25 07:59

    STM32H7b0設(shè)置Boot0引腳選項(xiàng)字節(jié)為0x1FF0,發(fā)送CAN幀后依舊無回復(fù)怎么解決?

    STM32H7b0這款芯片設(shè)置Boot0引腳選項(xiàng)字節(jié)為0x1FF0,發(fā)送CAN幀后依舊無回復(fù),求官方回應(yīng)
    發(fā)表于 03-22 06:05

    STM32G071 BOOT0和SW CLK共用同一個(gè)pin,有什么影響?

    請(qǐng)問下大佬我看到073CBU3的引腳定義中PA14既可以做BOOT0,也可以作為SW CLK用,兩者都是可以外部pull down的,請(qǐng)問在軟件默認(rèn)boot bit不變的情況下,是否會(huì)影響啟動(dòng)后 stlink使用SWD燒錄程序和
    發(fā)表于 03-13 07:48

    請(qǐng)問ADSP-21489選用并行FLASH引導(dǎo),BOOT_CFG1-0引腳如何配置?

    請(qǐng)問ADSP-21489(100引腳),選用并行 FLASH(比如M29W320)引導(dǎo),BOOT_CFG1-0 引腳如何配置?
    發(fā)表于 01-15 07:52

    MCU上電不啟動(dòng)的可能原因分析

    在GD32 MCU上,BOOT引腳決定了MCU的啟動(dòng)方式,通常BOOT0引腳下拉時(shí)是flash啟動(dòng),如果BOOT電平不對(duì)就不會(huì)執(zhí)行我們下載的
    發(fā)表于 01-12 17:08 ?2065次閱讀
    MCU上電不啟動(dòng)的可能原因分析

    stm32中boot0boot1怎么接

    。 BOOT0BOOT1引腳通常是用作輸入引腳,并且默認(rèn)狀態(tài)下與地電位連接。當(dāng)需要更改啟動(dòng)模式或使用引導(dǎo)加載程序時(shí),可以通過控制這些
    的頭像 發(fā)表于 12-27 10:22 ?1.8w次閱讀
    RM新时代网站-首页