嵌入式小知識點

1、stm32的BOOT0和BOOT1管腳

      在每個STM32的芯片上都有兩個管腳BOOT0和BOOT1,這兩個管腳在芯片復位時的電平狀態決定了芯片復位後從哪個區域開始執行程序,見下表:

BOOT1=x   BOOT0=0   從用戶閃存啓動,這是正常的工作模式。

BOOT1=0   BOOT0=1   從系統存儲器啓動,這種模式啓動的程序功能由廠家設置。

BOOT1=1   BOOT0=1   從內置SRAM啓動,這種模式可以用於調試。

STM32三種啓動模式對應的存儲介質均是芯片內置的,它們是:

1)用戶閃存 = 芯片內置的Flash。

2)SRAM = 芯片內置的RAM區,就是內存啦。

3)系統存儲器 = 芯片內部一塊特定的區域,芯片出廠時在這個區域預置了一段Bootloader,就是通常說的ISP程序。這個區

域的內容在芯片出廠後沒有人能夠修改或擦除,即它是一個ROM區。

2、bootloader

      在嵌入式操作系統中,BootLoader是在操作系統內核運行之前運行。可以初始化硬件設備、建立內存空間映射圖,從而將系統的軟硬件環境帶到一個合適狀態,以便爲最終調用操作系統內核準備好正確的環境。在嵌入式系統中,通常並沒有像BIOS那樣的固件程序(注,有的嵌入式CPU也會內嵌一段短小的啓動程序),因此整個系統的加載啓動任務就完全由BootLoader來完成。在一個基於ARM7TDMI core的嵌入式系統中,系統在上電或復位時通常都從地址0x00000000處開始執行,而在這個地址處安排的通常就是系統的BootLoader程序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章