色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          "); //-->

          博客專欄

          EEPW首頁 > 博客 > Linux中bootloader介紹

          Linux中bootloader介紹

          發(fā)布人:嵌入式Linux 時間:2023-01-10 來源:工程師 發(fā)布文章

          一個嵌入式Linux系統(tǒng)從軟件的角度通常分為以下四個層次:

          • 引導(dǎo)加載程序。包括固化在firmware中的boot代碼(可選),和Bootloader兩大部分。

          • Linux內(nèi)核。

          • 文件系統(tǒng)。

          • 應(yīng)用程序。

          Bootloader概念

          在嵌入式操作系統(tǒng)中,Bootloader是硬件啟動的引導(dǎo)程序,是運行操作系統(tǒng)的前提;在操作系統(tǒng)內(nèi)核或用戶應(yīng)用程序運行之前運行的一小段代碼,對軟硬件進行相應(yīng)的初始化和設(shè)定,為最終運行操作系統(tǒng)準備好環(huán)境,類似于X86計算機中的BIOS固件;Bootloader不屬于操作系統(tǒng),一般采用匯編語言和C語言開發(fā),需要針對特定的硬件平臺(比如arm、powerpc、MIPS等)編寫,Bootloader不但依賴于CPU的體系結(jié)構(gòu),而且依賴于嵌入式系統(tǒng)板級設(shè)備的配置。對于2塊不同的嵌入式板而言,即使它們使用同一種處理器,要想讓運行在一塊板子上的Bootloader程序也能運行在另一塊板子上,一般也都需要修改Bootloader的源程序。

          Bootloader的兩種操作模式

          自啟動模式:在這種模式下,Bootloader從目標機上的某個固態(tài)存儲設(shè)備上將操作系統(tǒng)(kernel)加載到RAM中運行(讀取bootcmd參數(shù)),整個過程并沒有用戶的介入。

          交互模式:在這種模式下(uboot可在倒計時按任意鍵進入到這種模式),目標機上的Bootloader將通過串口或網(wǎng)絡(luò)等方式從開發(fā)主機(Host)上下載內(nèi)核映像和根文件系統(tǒng)映像等到RAM中,可以被 Bootloader寫到目標機上的固態(tài)存儲媒質(zhì)中,或者直接進行系統(tǒng)的引導(dǎo)。也可以通過串口接收用戶的命令。

          Bootloader的基本功能
          • 初始化相關(guān)硬件

          • 把bootloader自搬運到RAM中

          • 執(zhí)行用戶的命令

          • 訪問環(huán)境變量

          • 通過網(wǎng)絡(luò)/串口通信

          • 讀寫RAM/FLASH

          • 加載并執(zhí)行內(nèi)核

          常見的Bootloader
          • Redboot:Redhat公司隨eCos發(fā)布的一個BOOT方案,是一個開源項目,Linux操作系統(tǒng)引導(dǎo),在線讀寫Flash。

          • ARMboot:ARM平臺的開源固件項目,2002年ARMboot終止了維護。

          • U-Boot:ARMboot并入了PPCBoot,和其他一些平臺的Loader合稱U-Boot,是目前最常用的bootloader。

          • Blob、Bios-lt、Bootldr、vivi等


          *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



          關(guān)鍵詞: bootloader

          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉