91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

什么是bootlood?Bootloader的操作模式

冬至子 ? 來(lái)源:汽車(chē)電子聯(lián)盟 ? 作者:汽車(chē)電子聯(lián)盟 ? 2023-07-26 16:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

/ 引言 /

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

圖片

對(duì)于嵌入式系統(tǒng),Bootloader是基于特定硬件平臺(tái)來(lái)實(shí)現(xiàn)的。因此,幾乎不可能為所有的嵌入式系統(tǒng)建立一個(gè)通用的Bootloader,不同的處理器架構(gòu)都有不同的Bootloader。Bootloader不但依賴(lài)于CPU的體系結(jié)構(gòu),而且依賴(lài)于嵌入式系統(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)接口。

/ 簡(jiǎn)介 /

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

在專(zhuān)用的嵌入式板子運(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、 用戶(hù)應(yīng)用程序 。特定于用戶(hù)的應(yīng)用程序。有時(shí)在用戶(hù)應(yīng)用程序和內(nèi)核層之間可能還會(huì)包括一個(gè)嵌入式圖形用戶(hù)界面。常用的嵌入式GUI有:MicroWindows和MiniGUI等。

/ 操作模式 /

大多數(shù)Bootloader都包含兩種不同的操作模式:

(1)啟動(dòng)加載模式

在這種模式下,Bootloader從目標(biāo)機(jī)的某個(gè)固態(tài)存儲(chǔ)設(shè)備上將操作系統(tǒng)加載到RAM中運(yùn)行,整個(gè)過(guò)程并沒(méi)有用戶(hù)的介入。這種模式是Bootloader的正常工作模式,因此在嵌入式產(chǎn)品發(fā)布時(shí),Bootloader必須工作在這種模式下。

(2)下載模式

在這種模式下,目標(biāo)機(jī)上的Bootloader將通過(guò)串口或網(wǎng)絡(luò)等通信手段從開(kāi)發(fā)主機(jī)(Host)上下載內(nèi)核映像和根文件系統(tǒng)映像等到RAM中,然后可再被Bootloader寫(xiě)到目標(biāo)機(jī)上的固態(tài)存儲(chǔ)媒質(zhì)中,或者直接進(jìn)行系統(tǒng)的引導(dǎo)。

啟動(dòng)加載模式通常用于第一次燒寫(xiě)內(nèi)核與根文件系統(tǒng)到固態(tài)存儲(chǔ)媒質(zhì)時(shí)或者以后的系統(tǒng)更新時(shí)使用;下載模式多用于開(kāi)發(fā)人員在前期開(kāi)發(fā)的過(guò)程中,工作于這種模式下的Bootloader通常都會(huì)向它的終端用戶(hù)提供一個(gè)簡(jiǎn)單的命令行接口。

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

Bootloader啟動(dòng)大多數(shù)都分為兩個(gè)階段。第一階段主要包含依賴(lài)于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ù)量、類(lèi)型和時(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)核

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

    關(guān)注

    68

    文章

    20253

    瀏覽量

    252230
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3747

    瀏覽量

    133622
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    244

    瀏覽量

    48032
  • LINUX內(nèi)核
    +關(guān)注

    關(guān)注

    1

    文章

    321

    瀏覽量

    23206
  • 以太網(wǎng)接口
    +關(guān)注

    關(guān)注

    0

    文章

    149

    瀏覽量

    17698
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    什么是Bootloader 淺談STM32中bootloader的內(nèi)存分配

    1. 什么是Bootloader Bootloader是硬件啟動(dòng)的引導(dǎo)程序,是運(yùn)行操作系統(tǒng)的前提。在操作系統(tǒng)內(nèi)核或用戶(hù)應(yīng)用程序運(yùn)行之前運(yùn)行的一段小代碼。對(duì)硬件進(jìn)行相應(yīng)的初始化和設(shè)定,最
    的頭像 發(fā)表于 02-15 06:10 ?1.9w次閱讀
    什么是<b class='flag-5'>Bootloader</b> 淺談STM32中<b class='flag-5'>bootloader</b>的內(nèi)存分配

    請(qǐng)問(wèn)stm32進(jìn)入BootLoader模式是什么意思?

    stm32進(jìn)入BootLoader模式是什么意思,是指stm32開(kāi)始啟動(dòng)運(yùn)行了嗎
    發(fā)表于 06-06 04:13

    怎么進(jìn)入bootloader模式

    怎么進(jìn)入bootloader模式?
    發(fā)表于 09-24 09:12

    什么是Bootloader?具有什么特點(diǎn)?

    嵌入式Linux移植和Uboot一、什么是Bootloader二、Bootloader的特點(diǎn)三、Bootloader的執(zhí)行模式四、一些bootloa
    發(fā)表于 12-17 06:54

    bootloader的升級(jí)模式有哪幾種

    bootloader 升級(jí)模式bootloader 的升級(jí)模式常見(jiàn)有以下兩種:bootloader 分區(qū) + app1 分區(qū) + app2
    發(fā)表于 01-25 07:33

    BootLoader_BootLoader是什么

    ARM實(shí)現(xiàn)手指靜脈識(shí)別系統(tǒng)_本文將從 BootLoader的概念、BootLoader 的框架結(jié)構(gòu)與安裝等四個(gè)方面來(lái)討論。
    發(fā)表于 11-30 10:32 ?3574次閱讀

    解鎖BootLoader

    BootLoader就是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。本內(nèi)容介紹了BootLoader是什么及解鎖Bootloader
    發(fā)表于 05-30 17:00 ?3983次閱讀

    bootloader是什么意思_bootloader是什么程序

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

    bootloader模式怎么進(jìn)入

    對(duì)于很多安卓手機(jī)用戶(hù)們來(lái)說(shuō),相信刷過(guò)機(jī)的用戶(hù)們一定對(duì)Bootloader模式不會(huì)陌生,Bootloader就相當(dāng)于手機(jī)的bios,它在手機(jī)啟動(dòng)的時(shí)候根據(jù)基帶初始化硬件,然后引導(dǎo)系統(tǒng)內(nèi)核,直到系統(tǒng)啟動(dòng)。
    發(fā)表于 11-10 16:59 ?4.9w次閱讀

    路由器如何進(jìn)入uboot模式

    U-Boot的工作模式有啟動(dòng)加載模式和下載模式。啟動(dòng)加載模式Bootloader的正常工作模式
    發(fā)表于 12-12 10:55 ?4.3w次閱讀
    路由器如何進(jìn)入uboot<b class='flag-5'>模式</b>

    啟動(dòng)代碼與bootloader有什么區(qū)別

    我主要遇到了這樣一個(gè)問(wèn)題,啟動(dòng)代碼和Bootloader的區(qū)別以及它們?cè)贏RM上運(yùn)行操作系統(tǒng)和不運(yùn)行操作系統(tǒng)(只有用戶(hù)程序)的關(guān)系。啟動(dòng)代碼是Bootloader,但不能說(shuō)
    發(fā)表于 12-11 17:11 ?10次下載
    啟動(dòng)代碼與<b class='flag-5'>bootloader</b>有什么區(qū)別

    Bootloader是什么Bootloader的介紹和過(guò)程詳細(xì)解

    3.Bootloader工作模式 4.Bootloader啟動(dòng)過(guò)程5.vivi Bootloader源代碼分析 6.vivi Bootloader
    發(fā)表于 12-11 17:33 ?49次下載
    <b class='flag-5'>Bootloader</b>是什么<b class='flag-5'>Bootloader</b>的介紹和過(guò)程詳細(xì)解

    MCU Bootloader總結(jié)

    Bootloader本文只探討MCU(單片機(jī))下的Bootloader,對(duì)ARM系列暫不做探討。(1)bootloader是弄啥的?(2)為什么要引入bootloader(也就是加入
    發(fā)表于 11-05 15:51 ?33次下載
    MCU <b class='flag-5'>Bootloader</b>總結(jié)

    stm32 IOT_STM32通用Bootloader——FOTA

    bootloader 升級(jí)模式bootloader 的升級(jí)模式常見(jiàn)有以下兩種:bootloader 分區(qū) + app1 分區(qū) + app2
    發(fā)表于 11-30 19:21 ?23次下載
    stm32 IOT_STM32通用<b class='flag-5'>Bootloader</b>——FOTA

    一文了解bootloader

    大多數(shù)Bootloader 包含兩種操作模式。
    的頭像 發(fā)表于 06-25 10:05 ?3350次閱讀
    一文了解<b class='flag-5'>bootloader</b>