Bootloader介紹和啟動

2021-06-27 21:31:43 字數 1111 閱讀 1922

一、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.執行核心彙編部...