在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式Linux學(xué)習(xí)-BIOS和Boot loader詳解筆記

冬至子 ? 來源:白浪工作室 ? 作者:小白浪 ? 2023-10-27 14:20 ? 次閱讀

1.BIOS****和引導(dǎo)裝入程序

為桌面計(jì)算機(jī)擁電后,一種叫作BIOS的軟件系統(tǒng)會(huì)立即接管對系統(tǒng)處理器的控制.

[BIOS是Basic Input/Output Software (基本輸入輸出軟件)的縮寫,但直際上. BIOS在計(jì)算機(jī)系統(tǒng)中發(fā)揮的作用已經(jīng)遠(yuǎn)遠(yuǎn)超過了最初設(shè)計(jì)該軟件時(shí)的目標(biāo),而且越來越復(fù)雜。

通常. BIOS系統(tǒng)都是保存在閃存(Flash)里面的。

BIOS是一組復(fù)雜的系統(tǒng)配置軟件例程,它記錄了計(jì)算機(jī)硬件體系結(jié)構(gòu)的底層細(xì)節(jié)信息

在系統(tǒng)加電時(shí)候,BIOS會(huì)立即接管對系統(tǒng)處理器的控制,它最主要任務(wù)就是初始化系統(tǒng)硬件,特別是內(nèi)存子系統(tǒng),然后將操作系統(tǒng)從硬盤emmcFlash中讀出并加載。

初始化系統(tǒng)的幾個(gè)重要任務(wù)如下:

(1)初始化關(guān)鍵硬件組件,例如SDRAM控制器,I/O控制器等

(2)初始化系統(tǒng)內(nèi)存,并準(zhǔn)備將系統(tǒng)系統(tǒng)控制權(quán)移交給相應(yīng)的操作系統(tǒng)。

(3)分配系統(tǒng)資源,例如內(nèi)存以及外設(shè)控制器的中斷電路。

(4)提供相應(yīng)的機(jī)制,用于定位和加載操作系統(tǒng)映像。

(5)加載操作系統(tǒng),并將系統(tǒng)控制權(quán)移交給操作系統(tǒng),將必要的啟動(dòng)信息,例如系統(tǒng)全部內(nèi)存塊的數(shù)量、尺寸,串行通信端口的速度以及其它底層硬件配置數(shù)據(jù)傳遞給操作系統(tǒng)。

BIOS的首要任務(wù)就是啟動(dòng)內(nèi)存子系統(tǒng)。內(nèi)存初始化之后,就可以作為一種資源進(jìn)行使用,很多BIOS完成內(nèi)存初始化后第一個(gè)動(dòng)作就是將自身復(fù)制到DRAM中,以便獲得更快的執(zhí)行速度。

一、BIOS

1.功能:進(jìn)行自我檢測與讀取bootloader

2.大致工作流程

①系統(tǒng)啟動(dòng)之后,加載BIOS,并通過BIOS去加載CMOS的信息,并且借由CMOS內(nèi)的設(shè)置值取得主機(jī)的各項(xiàng)硬件配置,例如CPU接口設(shè)備的溝通頻率、啟動(dòng)設(shè)備的查找順序、硬盤的大小與類型、系統(tǒng)時(shí)間、各周邊總線是否啟動(dòng)PnP、各接口設(shè)備的I/O地址。以及與CPU溝通的IRQ中斷等的信息

②取得上面這些信息后,BIOS開始自我檢測。然后開始執(zhí)行硬件檢測的初始化,并設(shè)置PnP設(shè)備,之后再定義出可啟動(dòng)的設(shè)備順序,接下來就會(huì)開始進(jìn)行啟動(dòng)設(shè)備的數(shù)據(jù)讀取了

③BIOS會(huì)指定啟動(dòng)的設(shè)備好讓我們可以讀取此盤中的操作系統(tǒng)內(nèi)核文件,由于不用的操作系統(tǒng)它的文件系統(tǒng)格式不同,

此時(shí)就需要一個(gè)啟動(dòng)引導(dǎo)程序(boot loader)來處理內(nèi)核文件加載問題,boot loader就在啟動(dòng)設(shè)備的第一個(gè)扇區(qū),也就是MBR。

二、bootloader

1.概念與特點(diǎn)

Boot loader是一段硬件引導(dǎo)程序,主要是為了內(nèi)核的運(yùn)行做準(zhǔn)備的,其運(yùn)行在操作系統(tǒng)內(nèi)核之前。主要作用是:初始化硬件設(shè)備,建立一個(gè)內(nèi)存空間。

將系統(tǒng)的硬件環(huán)境和軟件環(huán)境調(diào)整到一個(gè)合適的狀態(tài),也即是為調(diào)用內(nèi)核準(zhǔn)備好環(huán)境。而且不同的目標(biāo)版也需要不同的Boot loader支持。

嵌入式系統(tǒng)中:

固態(tài)存儲(chǔ)設(shè)備的典型空間分配結(jié)構(gòu):

[Boot loader]—[Bootparameters]—[Kernel]—[Root filesystem]

圖片

Boot loader具有兩種操作模式,即啟動(dòng)模式和下載模式。

下載模式:是指通過串口或者網(wǎng)絡(luò),從主機(jī)上下載文件(比如:內(nèi)核鏡像和根文件系統(tǒng)鏡像等),這些下載的文件保存在目標(biāo)機(jī)的RAM中,通過Boot loader,這些文件會(huì)由RAM中寫道FLASH中。

啟動(dòng)模式:即Boot loader從目標(biāo)機(jī)上的某個(gè)固態(tài)存儲(chǔ)設(shè)備將操作系統(tǒng)加載到RAM中運(yùn)行。

Boot loader有兩個(gè)運(yùn)行過程,成為stage1和stage2。

stage1的主要步驟是:硬件初始化、為stage2準(zhǔn)備RAM空間、將stage2復(fù)制到RAM空間、設(shè)置堆棧、跳到stage2的C入口點(diǎn)。

stage2的主要步驟是:初始化stage2要使用的硬件設(shè)備、檢查系統(tǒng)存儲(chǔ)、從FLASH中讀取內(nèi)核鏡像和根文件系統(tǒng)鏡像到RAM中、設(shè)置內(nèi)核參數(shù)、調(diào)用內(nèi)核。

對于電腦等大型嵌入式系統(tǒng):

boot loader可以存在MBR中,也可以存在文件系統(tǒng)的boot srctor中。總之,boot loader最后的功能都是用來加載內(nèi)核文件

2.MBR與boot loader的關(guān)系

在安裝Windows的時(shí)候,Windows系統(tǒng)會(huì)默認(rèn)在MBR內(nèi)會(huì)安裝一份boot loader,并且在自己文件系統(tǒng)的boot sector內(nèi)也會(huì)安裝有boot loader。

在安裝Linux的時(shí)候,你可以選擇將boot loader安裝在MBR,也可以選擇不安裝在MBR中

3.啟動(dòng)扇區(qū):boot sector

每一個(gè)文件系統(tǒng)中都含有一個(gè)bootsector,并且這個(gè)啟動(dòng)扇區(qū)內(nèi)也包含有boot loader。因此MBR中提供有選項(xiàng)功能,你可以選擇啟動(dòng)哪一個(gè)文件系統(tǒng)的boot sector內(nèi)的boot loader來加載不同的操作系統(tǒng)

4.內(nèi)核文件加載結(jié)構(gòu)圖

過程詳解

圖片

MBR內(nèi)提供了選項(xiàng)功能,你可以選擇不同的選項(xiàng)來加載文件系統(tǒng)例如:

你可以選擇加載Windows系統(tǒng)的boot sector內(nèi)的啟動(dòng)引導(dǎo)程序,來最終進(jìn)入Windows系統(tǒng)。

也可以選擇Linux系統(tǒng)的bootsrctor內(nèi)的啟動(dòng)引導(dǎo)程序,來最終進(jìn)入Linux系統(tǒng)

三、內(nèi)核加載

boot loader讀取內(nèi)核文件后,接下來Linux就會(huì)將內(nèi)核加壓縮到內(nèi)存中,并且利用內(nèi)核的功能,開始測試與驅(qū)動(dòng)個(gè)各周邊的設(shè)備,抱愧存儲(chǔ)設(shè)備、CPU、網(wǎng)卡、聲卡等

此時(shí)Linux內(nèi)核會(huì)以自己的功能重新檢測一次硬件,而不一定會(huì)使用BIOS檢測到的硬件信息。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • CMOS
    +關(guān)注

    關(guān)注

    58

    文章

    5735

    瀏覽量

    236091
  • 嵌入式
    +關(guān)注

    關(guān)注

    5092

    文章

    19177

    瀏覽量

    307672
  • BIOS
    +關(guān)注

    關(guān)注

    5

    文章

    470

    瀏覽量

    45933
  • Boot
    +關(guān)注

    關(guān)注

    0

    文章

    150

    瀏覽量

    35944
  • SDRAM控制器
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    8188
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式系統(tǒng) Boot Loader技術(shù)內(nèi)幕

    一個(gè)嵌入式 Linux 系統(tǒng)從軟件的角度看通常可以分為四個(gè)層次: 1. 引導(dǎo)加載程序.包括固化在固件(firmware)中的 boot 代碼(可選),和 Boot
    的頭像 發(fā)表于 03-05 09:26 ?3089次閱讀

    學(xué)習(xí)嵌入式LINUX筆記和體會(huì)

    學(xué)習(xí)嵌入式LINUX筆記和體會(huì)一個(gè)典型的桌面Linux系統(tǒng)包括3個(gè)主要的軟件層---linux
    發(fā)表于 06-23 18:37

    學(xué)習(xí)嵌入式Linux筆記和體會(huì)

    應(yīng)用和內(nèi)核捆綁在一起,甚至可以把應(yīng)用寫為內(nèi)核的一個(gè)線程,在內(nèi)核中運(yùn)行,雖然這樣在移植上帶來了困難,但考慮嵌入式系統(tǒng)對尺寸要求小的特點(diǎn),是完全可行的。不過我們使用三層軟件結(jié)構(gòu)的模式來學(xué)習(xí)嵌入式l
    發(fā)表于 05-19 14:44

    嵌入式學(xué)習(xí)路線 嵌入式學(xué)習(xí)路線詳解

    ,創(chuàng)客學(xué)院嵌入式開發(fā)講師整理了最全最短的嵌入式學(xué)習(xí)路線途徑,希望可以對讀者們有所幫助。  嵌入式學(xué)習(xí)路線
    發(fā)表于 03-17 18:05

    嵌入式系統(tǒng) Boot Loader技術(shù)內(nèi)幕

    一個(gè)嵌入式 Linux 系統(tǒng)從軟件的角度看通常可以分為四個(gè)層次:1. 引導(dǎo)加載程序。包括固化在固件(firmware)中的 boot 代碼(可選),和 Boot
    發(fā)表于 08-13 22:15

    嵌入式linux學(xué)習(xí)筆記

    Long long ago,還在上大學(xué)的時(shí)候,寫了一個(gè)關(guān)于嵌入式linux學(xué)習(xí)筆記,加上網(wǎng)上整合的資料,組成了一個(gè)PDF,和大家一起學(xué)習(xí)
    發(fā)表于 06-09 06:28

    學(xué)習(xí)嵌入式linux筆記

    本人是嵌入式軟件專業(yè),除了學(xué)習(xí)STM32單片機(jī)之外,我還自學(xué)了u-boot的移植,文件系統(tǒng)的制作,以及Linux內(nèi)核的移植,在學(xué)習(xí)
    發(fā)表于 11-04 06:58

    嵌入式Linux學(xué)習(xí)筆記

    嵌入式 Linux 學(xué)習(xí)筆記
    發(fā)表于 11-04 08:29

    嵌入式Linux學(xué)習(xí)筆記

    嵌入式 Linux 學(xué)習(xí)筆記
    發(fā)表于 12-16 07:43

    嵌入式Linux開發(fā)實(shí)用教程(試用)

    嵌入式Linux開發(fā)實(shí)用教程(試用) Universal Boot Loader(通用 bootloader),是遵循 GPL 條款的開放源碼 項(xiàng)目。 由德國 DENX 小組開發(fā)
    發(fā)表于 04-28 16:30 ?2次下載

    詳解嵌入式linux 啟動(dòng)信息

    詳解嵌入式linux 啟動(dòng)信息
    發(fā)表于 10-30 10:28 ?11次下載
    <b class='flag-5'>詳解</b><b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b> 啟動(dòng)信息

    嵌入式系統(tǒng)Boot Loader技術(shù)的詳細(xì)內(nèi)幕資料免費(fèi)下載

    本文詳細(xì)地介紹了基于嵌入式系統(tǒng)中的OS 啟動(dòng)加載程序―― Boot Loader 的概念、軟件設(shè)計(jì)的主要任務(wù)以及結(jié)構(gòu)框架等內(nèi)容。
    發(fā)表于 03-07 14:13 ?9次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)<b class='flag-5'>Boot</b> <b class='flag-5'>Loader</b>技術(shù)的詳細(xì)內(nèi)幕資料免費(fèi)下載

    基于嵌入式系統(tǒng)的Boot Loader設(shè)計(jì)概述

    Boot Loader和固化在固件(firmware)中的Boot代碼(可選)共同組成一個(gè)嵌入式系統(tǒng)的引導(dǎo)加載程序。它的作用和功能就像固化到計(jì)算機(jī)內(nèi)主板上的一個(gè)ROM芯片程序
    發(fā)表于 10-16 17:13 ?1415次閱讀
    基于<b class='flag-5'>嵌入式</b>系統(tǒng)的<b class='flag-5'>Boot</b> <b class='flag-5'>Loader</b>設(shè)計(jì)概述

    嵌入式系統(tǒng)里的Boot Loader技術(shù)詳解

    嵌入式系統(tǒng)當(dāng)中你可能經(jīng)常聽到 boot loader(引導(dǎo)加載器)這一詞,boot loader是指什么呢?
    的頭像 發(fā)表于 09-27 18:08 ?4553次閱讀

    嵌入式Linux-BIOS-Uboot-Boot loader 學(xué)習(xí)筆記

    ========******=========******========******=========******==========書籍名稱《嵌入式Linux基礎(chǔ)教程》,人民郵電出版社出版
    發(fā)表于 11-01 17:06 ?7次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux-BIOS-Uboot-Boot</b> <b class='flag-5'>loader</b> <b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>筆記</b>
    主站蜘蛛池模板: 五月婷婷六月丁香在线 | 最近2018免费中文字幕视频 | 野外啪啪抽搐一进一出 | 在线视频 一区二区 | 天天射日日干 | 日本高清一区二区三区不卡免费 | 日本三级在线播放线观看2021 | 国产一区二区中文字幕 | 黄色免费毛片 | 69re在线观看| 国产免费一区二区三区 | 你懂的网站在线观看 | 黄色片日本网站 | 国产成人三级经典中文 | 欧美黄色片 一级片 | 国产精品夜夜春夜夜爽 | 98色花堂永久地址国产精品 | 亚洲综合色就色手机在线观看 | 中国成人免费视频 | 喷潮白浆 | 色中文字幕 | 国产亚洲精品成人a在线 | 丁香花在线影院观看在线播放 | 2021久久精品免费观看 | 一区二区三区高清视频在线观看 | 黄色网在线播放 | 欧美手机看片 | 色综合久久天天综合绕观看 | 永久免费av网站 | 国产一卡2卡3卡四卡精品网站 | 日本噜噜影院 | 午夜精品久久久久久91 | 丁香婷婷激情综合 | 男女视频免费 | 欧美成人午夜精品一区二区 | 黄色网毛片| 亚洲精品日韩专区silk | 天天干在线免费视频 | 性欧美高清极品xx | 美女黄页网站免费进入 | 久久国产香蕉一区精品 |