大話STM32三種BOOT模式的差異

2021-10-13 04:57:04 字數 1249 閱讀 9943

三、參考?

所謂啟動,一般來說就是指我們下好程式後,重啟晶元時,sysclk的第4個上公升沿,boot引腳的值將被鎖存。使用者可以通過設定boot1boot0引腳的狀態,來選擇在復位後的啟動模式。

啟動模式

主快閃儲存器儲存器(main flash memory)系統儲存器(system memory)

內建sram(embedded memory)flash、system memory和sram的訪問位址sram:啟動時位址為0x00000000或0x20000000(stm32fxx的參考手冊上說,啟動後只能在0x20000000開始訪問,即啟動後這個對映消失,需要重定位中斷向量表,這是特例)

中斷向量表

主快閃儲存器儲存器

中斷向量表從flash的起始位址(0x08000000)開始存放。同時對映到0x00000000處。向量表偏移暫存器的值為0x00000000(實際對映到0x08000000)。

內建sram

中斷向量表還是存放在flash中(flash才能固化儲存,sram只能加電才有效),只不過拷貝到sram的首位址0x20000000處。此時向量表偏移暫存器的值也是0x00000000(實際對映到0x20000000)

無論用哪種模式啟動,復位時棧頂指標總能在0x00000000(或0x08000000)處找到,而復位向量總能在0x00000004(或0x08000004)處找到。

1、 主快閃儲存器儲存器被選為啟動區域

在 keil 中,直接用**器燒錄

採用串列埠進行燒錄程式

採用**器直接燒錄的程式是直接被放置到flash中,而串列埠燒錄的程式就不是位於flash中,需要手動復位才能在flash中啟動。

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...

STM32的三種Boot模式的差異

在系統復位後,sysclk的第4個上公升沿,boot引腳的值將被鎖存。使用者可以通過設定boot1 和boot0引腳的狀態,來選擇在復位後的啟動模式。在從待機模式退出時,boot引腳的值將被被重新鎖存 因此,在待機模式下boot引腳應保持為需要的啟動配置。在啟動延遲之後,cpu從位址0x0000 0...