stm32關於BOOT0和BOOT1設定
阿新 • • 發佈:2019-02-01
BOOT0和BOOT1
STM32三種啟動模式對應的儲存介質均是晶片內建的,它們是:
1)使用者快閃記憶體 = 晶片內建的 Flash。
2)SRAM = 晶片內建的 RAM區,就是記憶體啦。
3)系統儲存器= 晶片內部一塊特定的區域,晶片出廠時在這個區
域預置了一段 Bootloader,就是通常說的 ISP程式。這個區
域的內容在晶片出廠後沒有人能夠修改或擦除,即它是一個 ROM
區。
在每個 STM32的晶片上都有兩個管腳 BOOT0和 BOOT1,這兩個
管腳在晶片復位時的電平狀態決定了晶片復位後從哪個區域開始執
行程式,見下表:
BOOT1=x BOOT0=0 從使用者快閃記憶體啟動,這是正常的工作模式。
BOOT1=0 BOOT0=1 從系統儲存器啟動,這種模式啟動的程
序功能由廠家設定。
BOOT1=1 BOOT0=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 。
STM32三種啟動模式對應的儲存介質均是晶片內建的,它們是:
1)使用者快閃記憶體 = 晶片內建的 Flash。
2)SRAM = 晶片內建的 RAM區,就是記憶體啦。
3)系統儲存器= 晶片內部一塊特定的區域,晶片出廠時在這個區
域預置了一段 Bootloader,就是通常說的 ISP程式。這個區
域的內容在晶片出廠後沒有人能夠修改或擦除,即它是一個 ROM
區。
在每個 STM32的晶片上都有兩個管腳 BOOT0和 BOOT1,這兩個
管腳在晶片復位時的電平狀態決定了晶片復位後從哪個區域開始執
行程式,見下表:
BOOT1=x BOOT0=0 從使用者快閃記憶體啟動,這是正常的工作模式。
BOOT1=0 BOOT0=1 從系統儲存器啟動,這種模式啟動的程
序功能由廠家設定。
BOOT1=1 BOOT0=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 。