日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]STM32三種啟動(dòng)模式對(duì)應(yīng)的存儲(chǔ)介質(zhì)均是芯片內(nèi)置的,它們是: 1)用戶閃存 = 芯片內(nèi)置的Flash。2)SRAM = 芯片內(nèi)置的RAM區(qū),就是內(nèi)存啦。3)系統(tǒng)存儲(chǔ)器 = 芯片內(nèi)部一塊特定的區(qū)域,芯片出廠時(shí)在這個(gè)區(qū)域預(yù)置了一段Boot

STM32三種啟動(dòng)模式對(duì)應(yīng)的存儲(chǔ)介質(zhì)均是芯片內(nèi)置的,它們是:

1)用戶閃存 = 芯片內(nèi)置的Flash。

2)SRAM = 芯片內(nèi)置的RAM區(qū),就是內(nèi)存啦。

3)系統(tǒng)存儲(chǔ)器 = 芯片內(nèi)部一塊特定的區(qū)域,芯片出廠時(shí)在這個(gè)區(qū)域預(yù)置了一段Bootloader,就是通常說的ISP程序。這個(gè)區(qū)域的內(nèi)容在芯片出廠后沒有人能夠修改或擦除,即它是一個(gè)ROM區(qū)。

在每個(gè)STM32的芯片上都有兩個(gè)管腳BOOT0和BOOT1,這兩個(gè)管腳在芯片復(fù)位時(shí)的電平狀態(tài)決定了芯片復(fù)位后從哪個(gè)區(qū)域開始執(zhí) 行程序



不同的下載方式對(duì)應(yīng)STM32啟動(dòng)方式也不同,如下圖是STM32三種啟動(dòng)方式:

●第一種啟動(dòng)方式是最常用的用戶FLASH啟動(dòng),正常工作就在這種模式下,STM32的FLASH可以擦出10萬次,所以不用擔(dān)心芯片哪天會(huì)被擦爆!

●第二種啟動(dòng)方式是系統(tǒng)存儲(chǔ)器啟動(dòng)方式,即我們常說的串口下載方式(ISP),不建議使用這種,速度比較慢。STM32中自帶的BootLoader就是在這種啟動(dòng)方式中,如果出現(xiàn)程序硬件錯(cuò)誤的話可以切換BOOT0/1到該模式下重新燒寫Flash即可恢復(fù)正常。

●第三種啟動(dòng)方式是STM32內(nèi)嵌的SRAM啟動(dòng)。該模式用于調(diào)試。


在系統(tǒng)上電的時(shí)候,cpu首先根據(jù)這兩個(gè)腳來確定是哪種模式的啟動(dòng),然后就是把相應(yīng)模式的起始地址映射到0地址處,并從0地址處開始執(zhí)行。在芯片出廠時(shí),ST燒寫了一個(gè)bootloader到rom中,也就是system memory。這個(gè)bootloader的主要任務(wù)就是通過uart1下載程序到內(nèi)置flash中去。工作流程如下:

system memory boot模式,在執(zhí)行完成它的任務(wù)之后是必須要退出的。這個(gè)退出方式是通過一次硬件reset來實(shí)現(xiàn)的。在reset的時(shí)候,必須要配置BOOT[1:0]這兩個(gè)腳以使cpu在重啟之后進(jìn)入適當(dāng)?shù)哪J?。要注意的是,一般不使用?nèi)置SRAM啟動(dòng)(BOOT1=1 BOOT0=1),因?yàn)镾RAM掉電后數(shù)據(jù)就丟失。多數(shù)情況下SRAM只是在調(diào)試時(shí)使用,也可以做其他一些用途。如做故障的局部診斷,寫一段小程序加載到SRAM中診斷板上的其他電路,或用此方法讀寫板上的Flash或EEPROM等。還可以通過這種方法解除內(nèi)部Flash的讀寫保護(hù),當(dāng)然解除讀寫保護(hù)的同時(shí)Flash的內(nèi)容也被自動(dòng)清除,以防止惡意的軟件拷貝。一般BOOT0和BOOT1跳線都跳到0( 地)1) Bootloader是在System Memory,這個(gè)區(qū)域必須通過設(shè)置Boot1和Boot0引腳才能啟動(dòng),正常工作狀態(tài)下,這部分區(qū)域是被隔離開的,自動(dòng)被繞開,Bootloader絕對(duì)不占用任何用戶程序的資源。簡(jiǎn)單地說:當(dāng)你要使用ISP燒寫數(shù)據(jù)到Flash時(shí),需要設(shè)置Boot1和Boot0啟動(dòng)System Memory中的Bootloader;燒寫完成后,再重新設(shè)置Boot1和Boot0啟動(dòng)Flash中你自己的程序,進(jìn)入正常操作。2)STM32中的Bootloader使用USART1做為通信端口,它使用8個(gè)數(shù)據(jù)位、1個(gè)停止位和偶校驗(yàn),具有自動(dòng)波特率檢測(cè)功能。



在使用開發(fā)板時(shí)不小心下載了個(gè)有問題的程序,然后就悲劇了。無法往芯片中燒寫程序了。每次想下載程序都會(huì)彈出如下的兩個(gè)錯(cuò)誤對(duì)話框:


J-Link和STM32 芯片都不大可能就這么壞掉了。多半是燒寫進(jìn)去的軟件有些問題,占用了相應(yīng)的IO 管腿,導(dǎo)致無法利用J-Link與之通訊。那就想辦法不讓這個(gè)錯(cuò)誤的程序運(yùn)行了。例如下述代碼如果燒寫進(jìn)去的話就會(huì)造成J-Link下次不能正常連接:


GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);


上述代碼表示取消JTAG引腳功能,開始SWD引腳功能。


STM32 中是自帶了BootLoader的,切換進(jìn)BootLoader 中就可以了。具體的方法就是通過BOOT1、BOOT0兩個(gè)跳線來選擇啟動(dòng)模式。修改跳線將啟動(dòng)模式切換為上述的第二種方式:BOOT0=1,BOOT1=0。

斷電,改跳線,重新上電,進(jìn)入第二種方式:BOOT0=1,BOOT1=0,即STM32的BootLoader 模式。此時(shí)J-Link可以正常工作了,用J-Link 下載新的程序,下載成功。再斷電,把跳線改回來第一種啟動(dòng)方式(BOOT0=0,BOOT1=0),重新上電,一切正常,問題解決。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在嵌入式開發(fā)中,STM32的時(shí)鐘系統(tǒng)因其靈活性和復(fù)雜性成為開發(fā)者關(guān)注的焦點(diǎn)。然而,看似簡(jiǎn)單的時(shí)鐘配置背后,隱藏著諸多易被忽視的陷阱,輕則導(dǎo)致系統(tǒng)不穩(wěn)定,重則引發(fā)硬件損壞。本文從時(shí)鐘源選擇、PLL配置、總線時(shí)鐘分配等關(guān)鍵環(huán)...

關(guān)鍵字: STM32 時(shí)鐘系統(tǒng)

在嵌入式系統(tǒng)開發(fā)中,STM32系列微控制器的內(nèi)部溫度傳感器因其低成本、高集成度特性,廣泛應(yīng)用于設(shè)備自檢、環(huán)境監(jiān)測(cè)等場(chǎng)景。然而,受芯片工藝差異和電源噪聲影響,其原始數(shù)據(jù)存在±1.5℃的固有誤差。本文從硬件配置、校準(zhǔn)算法、軟...

關(guān)鍵字: STM32 溫度傳感器

單片機(jī)將是下述內(nèi)容的主要介紹對(duì)象,通過這篇文章,小編希望大家可以對(duì)它的相關(guān)情況以及信息有所認(rèn)識(shí)和了解,詳細(xì)內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 中斷 boot

在能源效率與智能化需求雙重驅(qū)動(dòng)下,AC-DC轉(zhuǎn)換器的數(shù)字控制技術(shù)正經(jīng)歷從傳統(tǒng)模擬方案向全數(shù)字架構(gòu)的深刻變革?;赟TM32微控制器的PFM(脈沖頻率調(diào)制)+PWM(脈沖寬度調(diào)制)混合調(diào)制策略,結(jié)合動(dòng)態(tài)電壓調(diào)整(Dynam...

關(guān)鍵字: AC-DC STM32

當(dāng)前智能家居產(chǎn)品需求不斷增長(zhǎng) ,在這一背景下 ,對(duì)現(xiàn)有澆花裝置缺陷進(jìn)行了改進(jìn) ,設(shè)計(jì)出基于STM32單片機(jī)的全 自動(dòng)家用澆花機(jī)器人。該設(shè)計(jì)主要由機(jī)械結(jié)構(gòu)和控制系統(tǒng)構(gòu)成 ,機(jī)械結(jié)構(gòu)通過麥克納姆輪底盤與噴灑裝置的結(jié)合實(shí)現(xiàn)機(jī)器...

關(guān)鍵字: STM32 麥克納姆輪 安全可靠 通過性強(qiáng)

用c++編程似乎是讓你的Arduino項(xiàng)目起步的障礙嗎?您想要一種更直觀的微控制器編程方式嗎?那你需要了解一下Visuino!這個(gè)圖形化編程平臺(tái)將復(fù)雜電子項(xiàng)目的創(chuàng)建變成了拖動(dòng)和連接塊的簡(jiǎn)單任務(wù)。在本文中,我們將帶您完成使...

關(guān)鍵字: Visuino Arduino ESP32 STM32

基于STM32與LoRa技術(shù)的無線傳感網(wǎng)絡(luò)憑借其低功耗、廣覆蓋、抗干擾等特性,成為環(huán)境監(jiān)測(cè)、工業(yè)自動(dòng)化等場(chǎng)景的核心解決方案。然而,如何在復(fù)雜電磁環(huán)境中實(shí)現(xiàn)高效休眠調(diào)度與動(dòng)態(tài)信道優(yōu)化,成為提升網(wǎng)絡(luò)能效與可靠性的關(guān)鍵挑戰(zhàn)。本...

關(guān)鍵字: STM32 LoRa

在實(shí)時(shí)控制系統(tǒng)、高速通信協(xié)議處理及高精度數(shù)據(jù)采集等對(duì)時(shí)間敏感的應(yīng)用場(chǎng)景中,中斷響應(yīng)延遲的優(yōu)化直接決定了系統(tǒng)的可靠性與性能上限。STM32系列微控制器憑借其靈活的嵌套向量中斷控制器(NVIC)、多通道直接內(nèi)存訪問(DMA)...

關(guān)鍵字: STM32 DMA

數(shù)字電源技術(shù)向高功率密度、高效率與高動(dòng)態(tài)響應(yīng)方向加速演進(jìn),STM32微控制器憑借其基于DSP庫的算法加速能力與對(duì)LLC諧振變換器的精準(zhǔn)控制架構(gòu),成為優(yōu)化電源動(dòng)態(tài)性能的核心平臺(tái)。相較于傳統(tǒng)模擬控制或通用型數(shù)字控制器,STM...

關(guān)鍵字: STM32 數(shù)字電源

STM32微控制器憑借其針對(duì)電機(jī)控制場(chǎng)景的深度優(yōu)化,成為高精度、高可靠性驅(qū)動(dòng)系統(tǒng)的核心選擇。相較于通用型MCU,STM32在電機(jī)控制領(lǐng)域的核心優(yōu)勢(shì)集中體現(xiàn)在FOC(磁場(chǎng)定向控制)算法的硬件加速引擎與PWM死區(qū)時(shí)間的動(dòng)態(tài)補(bǔ)...

關(guān)鍵字: STM32 電機(jī)控制
關(guān)閉