一、bootloader的介紹
1.什麼是bootloader
bootloader是硬體啟動的引導程式,是執行作業系統的前提。在作業系統核心或使用者應用程式執行之前執行的一段小**。對硬體進行相應的初始化和設定,最終為作業系統準備好環境。
2.bootloader的特點
bootloader不屬於作業系統,一般採用組合語言和c語言開發。需要針對特定的硬體平台編寫。在移植過程時,首先為開發板移植bootloader。bootloader不但依賴於cpu的體系架構,而且依賴於嵌入式系統板級裝置的配置。
3.bootloader的操作模式
自啟動模式:在這種模式下,bootloader從目標機上的某個固態儲存裝置上將作業系統載入到ram中執行,整個過程並沒有使用者的介入。
二、bootloader的基本功能
初始化相關硬體 把bootloader自搬移到記憶體中 執行使用者指令 載入並執行核心
三、bootloader的啟動
bootloader的啟動一般分為兩個階段
下圖是拿s5pc100 cortex a8的板子晶元圖形做介紹
拿已經固化到nand flash中的bootloader為例
第一步:當cpu啟動後執行位址為0x00000000就是irom的第一塊**處bl0,而bootloader存放在nand flash中,其中開頭的一塊**bl1(大小為16k)存放到iram(sram)中。而在bl0的**會自動跳轉到bl1處,執行bl1出的**,進行一些相關硬體的初始化。bl1處還有乙個拷貝指令,就是將nand flash中的boot-
loader**拷貝到dram中。當bl1中**執行完之後將會自動跳轉到dram中。
bl1**中作用:
初始化基本硬體
把bootloader搬到記憶體中
初始化異常 模式
設定堆疊指標並將bss段清零,為後續的c**做準備
跳到第二段**
第二步:執行bl1跳轉到的**bl2
bl2的作用:
初始化本階段要使用的硬體
將壞境變數新增到核心中
讀取環境變數
啟動程式BootLoader介紹
bootloader是系統加電後 作業系統核心或使用者應用程式執行之前,首先必須執行的一段程式 通過這段程式,為最終呼叫作業系統核心 執行使用者應用程式準備好正確的環境。對於嵌入式系統來說,有的使用作業系統,也有的不使用作業系統,但在系統啟動時都必須執行bootloader,為系統執行準備好軟硬體環...
BootLoader的介紹與啟動
bootloader 所謂引導程式 bootloader 即系統加電後執行的第一段軟體 一般來說,嵌入式系統的引導程式負責載入整個啟動任務。整個過程包括初始化硬體裝置 建立記憶體空間的對映圖 配置合適的軟硬體環境,以便能夠呼叫作業系統的核心。bootloader的主要執行任務就是講核心映像從硬碟上讀...
bootloader啟動流程
bootloader a.svc模式 關中斷 mmu cache 看門狗等 b.基本初始化 時鐘 串列埠 flash 記憶體 c.自搬移到記憶體 d.設定棧,調到c部分 e.大部分硬體初始化 網絡卡 sd卡 usb f.搬移核心到記憶體 g.執行核心 kernel a.自解壓核心 b.執行核心彙編部...