對STM32的三種啟動模式的理解

2021-10-17 12:55:01 字數 1140 閱讀 9774

目錄概括

第一種,主快閃儲存器儲存器啟動

第二種,系統儲存器啟動

第三種,內建sram啟動

概括

在系統復位後, sysclk的第4個上公升沿, boot引腳的值將被鎖存。使用者可以通過設定boot1和boot0引腳的狀態,來選擇在復位後的啟動模式。

在從待機模式退出時, boot引腳的值將被被重新鎖存;因此,在待機模式下boot引腳應保持為需要的啟動配置。在啟動延遲之後, cpu從位址0x0000 0000獲取堆疊頂的位址,並從啟動儲存器的0x0000 0004指示的位址開始執行**。

因為固定的儲存器映像,**區始終從位址0x0000 0000開始(通過icode和dcode匯流排訪問),而資料區(sram)始終從位址0x2000 0000開始(通過系統匯流排訪問)。 cortex-m3的cpu始終從icode匯流排獲取復位向量,即啟動僅適合於從**區開始(典型地從flash啟動)。 stm32f10***微控制器實現了乙個特殊的機制,系統可以不僅僅從flash儲存器或系統儲存器啟動,還可以從內建sram啟動。

第一種,主快閃儲存器儲存器啟動

從主快閃儲存器儲存器啟動:主快閃儲存器儲存器被對映到啟動空間(0x0000 0000),但仍然能夠在它原有的位址(0x0800 0000)訪問它,即快閃儲存器儲存器的內容可以在兩個位址區域訪問, 0x00000000或0x0800 0000。

該模式是正常的模式,執行使用者自定義程式的必然選擇。

第二種,系統儲存器啟動

從系統儲存器啟動:系統儲存器被對映到啟動空間(0x0000 0000),但仍然能夠在它原有的位址(互聯型產品原有位址為0x1fff b000,其它產品原有位址為0x1fff f000)訪問它。

這種模式啟動的程式功能是由廠家設定的,stm32 在出廠時由st 在這個儲存區間內部預置了一段bootloader(也即isp 程式),這段程式出廠後無法修改。廠家提供的bootloader 一般支援uart 協議,可以讓我們直接通過串列埠將程式**燒錄到main flash memory 中;

第三種,內建sram啟動

STM32三種啟動模式

stm32三種啟動模式 stm32三種啟動模式對應的儲存介質均是晶元內建的,它們是 1 使用者快閃儲存器 晶元內建的flash。2 sram 晶元內建的ram區,就是記憶體啦。3 系統儲存器 晶元內部一塊特定的區域,晶元出廠時在這個區域預置了一段bootloader,就是通常說的isp程式。這個區域...

STM32的三種Boot模式

所謂啟動,一般來說就是指我們下好程式後,重啟晶元時,sysclk的第4個上公升沿,boot引腳的值將被鎖存。使用者可以通過設定boot1和boot0引腳的狀態,來選擇在復位後的啟動模式。棧區 變數位址 i 20000760 p 2000075c str 20000750 堆區 動態申請位址 2000...

STM32的三種Boot模式

二.例項分析 1.三種boot模式的介紹所謂啟動,一般來說就是指我們下好程式後,重啟晶元時,sysclk的第4個上公升沿,boot引腳的值將被鎖存。使用者可以通過設定boot1和boot0引腳的狀態,來選擇在復位後的啟動模式。第一種 main flash memory 從使用者快閃儲存器 flash...