精品丰满熟女一区二区三区_五月天亚洲欧美综合网_亚洲青青青在线观看_国产一区二区精选

  • <menu id="29e66"></menu>

    <bdo id="29e66"><mark id="29e66"><legend id="29e66"></legend></mark></bdo>

  • <pre id="29e66"><tt id="29e66"><rt id="29e66"></rt></tt></pre>

      <label id="29e66"></label><address id="29e66"><mark id="29e66"><strike id="29e66"></strike></mark></address>
      學(xué)習(xí)啦>學(xué)習(xí)英語(yǔ)>英語(yǔ)其它>

      bootloader是什么意思

      時(shí)間: 玉蓮928 分享

        大家有沒(méi)有想過(guò)bootloader的意思?下面是學(xué)習(xí)啦小編給大家整理的bootloader是什么意思,供大家參閱!

        bootloader是什么意思

        Bootloader是嵌入式系統(tǒng)在加電后執(zhí)行的第一段代碼,在它完成CPU和相關(guān)硬件的初始化之后,再將操作系統(tǒng)映像或固化的嵌入式應(yīng)用程序裝在到內(nèi)存中然后跳轉(zhuǎn)到操作系統(tǒng)所在的空間,啟動(dòng)操作系統(tǒng)運(yùn)行。

        BootLoader是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行??梢猿跏蓟布O(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。

        通過(guò)這段小程序,可以初始化硬件設(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。

        BootLoader背景介紹

        Bootloader是嵌入式系統(tǒng)在加電后執(zhí)行的第一段代碼,在它完成CPU和相關(guān)硬件的初始化之后,再將操作系統(tǒng)映像或固化的嵌入式應(yīng)用程序裝在到內(nèi)存中然后跳轉(zhuǎn)到操作系統(tǒng)所在的空間,啟動(dòng)操作系統(tǒng)運(yùn)行。[1]

        對(duì)于嵌入式系統(tǒng),Bootloader是基于特定硬件平臺(tái)來(lái)實(shí)現(xiàn)的。因此,幾乎不可能為所有的嵌入式系統(tǒng)建立一個(gè)通用的Bootloader,不同的處理器架構(gòu)都有不同的Bootloader。Bootloader不但依賴于CPU的體系結(jié)構(gòu),而且依賴于嵌入式系統(tǒng)板級(jí)設(shè)備的配置。對(duì)于2塊不同的嵌入式板而言,即使它們使用同一種處理器,要想讓運(yùn)行在一塊板子上的Bootloader程序也能運(yùn)行在另一塊板子上,一般也都需要修改Bootloader的源程序。

        反過(guò)來(lái),大部分Bootloader仍然具有很多共性,某些Bootloader也能夠支持多種體系結(jié)構(gòu)的嵌入式系統(tǒng)。例如,U-Boot就同時(shí)支持PowerPC、ARM、MIPS和X86等體系結(jié)構(gòu),支持的板子有上百種。通常,它們都能夠自動(dòng)從存儲(chǔ)介質(zhì)上啟動(dòng),都能夠引導(dǎo)操作系統(tǒng)啟動(dòng),并且大部分都可以支持串口和以太網(wǎng)接口。

        在專用的嵌入式板子運(yùn)行GNU/Linux系統(tǒng)已經(jīng)變得越來(lái)越流行。一個(gè)嵌入式Linux系統(tǒng)從軟件的角度看通??梢苑譃樗膫€(gè)層次:

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

        2、Linux內(nèi)核。特定于嵌入式板子的定制內(nèi)核以及內(nèi)核的啟動(dòng)參數(shù)。

        3、 文件系統(tǒng)。包括根文件系統(tǒng)和建立于Flash內(nèi)存設(shè)備之上文件系統(tǒng)。通常用ramdisk來(lái)作為rootfs。

        4、 用戶應(yīng)用程序。特定于用戶的應(yīng)用程序。有時(shí)在用戶應(yīng)用程序和內(nèi)核層之間可能還會(huì)包括一個(gè)嵌入式圖形用戶界面。常用的嵌入式GUI有:MicroWindows和MiniGUI等。

        通常,BootLoader是嚴(yán)重地依賴于硬件而實(shí)現(xiàn)的,特別是在嵌入式世界。因此,在嵌入式世界里建立一個(gè)通用的BootLoader幾乎是不可能的。盡管如此,我們?nèi)匀豢梢詫?duì)bootloader歸納出一些通用的概念來(lái),以指導(dǎo)用戶特定的BootLoader設(shè)計(jì)與實(shí)現(xiàn)。

        BootLoader啟動(dòng)過(guò)程

        Bootloader啟動(dòng)大多數(shù)都分為兩個(gè)階段。第一階段主要包含依賴于CPU的體系結(jié)構(gòu)硬件初始化的代碼,通常都用匯編語(yǔ)言來(lái)實(shí)現(xiàn)。這個(gè)階段的任務(wù)有:

        基本的硬件設(shè)備初始化(屏蔽所有的中斷、關(guān)閉處理器內(nèi)部指令/數(shù)據(jù)Cache等)。

        為第二階段準(zhǔn)備RAM空間。

        如果是從某個(gè)固態(tài)存儲(chǔ)媒質(zhì)中,則復(fù)制Bootloader的第二階段代碼到RAM。

        設(shè)置堆棧。

        在第一階段中為什么要關(guān)閉Cache?通常使用Cache以及寫(xiě)緩沖是為了提高系統(tǒng)性能,但由于Cache的使用可能改變?cè)L問(wèn)主存的數(shù)量、類型和時(shí)間,因此Bootloader通常是不需要的。

        跳轉(zhuǎn)到第二階段的C程序入口點(diǎn)。

        第二階段通常用C語(yǔ)言完成,以便實(shí)現(xiàn)更復(fù)雜的功能,也使程序有更好的可讀性和可移植性。這個(gè)階段的任務(wù)有:

        初始化本階段要使用到的硬件設(shè)備。

        檢測(cè)系統(tǒng)內(nèi)存映射。

        將內(nèi)核映像和根文件系統(tǒng)映像從Flash讀到RAM。

        為內(nèi)核設(shè)置啟動(dòng)參數(shù)。

        調(diào)用內(nèi)核。

        

      看過(guò)bootloader是什么意思的人還看了:

      1.bios里面的設(shè)置分別什么意思

      2.什么是BIOS怎么進(jìn)入BIOS

      3.bios設(shè)置硬盤(pán)啟動(dòng)教程解析

      4.電腦開(kāi)機(jī)顯示dhcp是什么意思

      5.bios和uefi有哪些區(qū)別什么是bios?什么是uefi?懂了這幾...

      2663776