新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32的BOOT概述

        STM32的BOOT概述

        作者: 時間:2016-11-10 來源:網絡 收藏
        STM32三種啟動模式對應的存儲介質均是芯片內置的,它們是:

        1)用戶閃存 = 芯片內置的Flash。
        2)SRAM = 芯片內置的RAM區,就是內存啦。
        3)系統存儲器 = 芯片內部一塊特定的區域,芯片出廠時在這個區域預置了一段Bootloader,就是通常說的ISP程序。這個區
        域的內容在芯片出廠后沒有人能夠修改或擦除,即它是一個ROM區。

        本文引用地址:http://www.104case.com/article/201611/317476.htm

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

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

        BOOT1=0 BOOT0=1 從系統存儲器啟動,這種模式啟動的程序功能由廠家設置。
        BOOT1=1 BOOT0=1 從內置SRAM啟動,這種模式可以用于調試。

        在系統上電的時候,cpu首先根據這兩個腳來確定是哪種模式的啟動,然后就是把相應模式的起始地址映射到0地址處,并從0地址處開始執行。

        在芯片出廠時,st燒寫了一個bootloader到rom中,也就是system memory。這個bootloader的主要任務就是通過uart1下載程序到內置flash中去。工作流程如下:


        system memory boot模式,在執行完成它的任務之后是必須要退出的。這個退出方式是通過一次硬件reset來實現的。在reset的時候,必須要配置BOOT[1:0]這兩個腳以使cpu在重啟之后進入適當的模式。

        要注意的是,一般不使用內置SRAM啟動(BOOT1=1 BOOT0=1),因為SRAM掉電后數據就丟失。多數情況下SRAM只是在調試時使用,也可以做其他一些用途。如做故障的局部診斷,寫一段小程序加載到SRAM中診斷板上的其他電路,或用此方法讀寫板上的Flash或EEPROM等。還可以通過這種方法解除內部Flash的讀寫保護,當然解除讀寫保護的同時Flash的內容也被自動清除,以防止惡意的軟件拷貝。

        一般BOOT0和BOOT1跳線都跳到0



        關鍵詞: STM32BOO

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 永川市| 桂林市| 且末县| 沽源县| 留坝县| 永春县| 新巴尔虎左旗| 阜阳市| 两当县| 容城县| 常宁市| 定西市| 普兰店市| 高安市| 岳阳市| 龙门县| 蒙自县| 普定县| 无极县| 清原| 东辽县| 阿拉善盟| 长白| 吴旗县| 浦城县| 固安县| 周至县| 安丘市| 鄂尔多斯市| 波密县| 穆棱市| 玛曲县| 龙游县| 娱乐| 慈溪市| 城口县| 曲麻莱县| 依兰县| 无为县| 汶上县| 醴陵市|