完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>
標(biāo)簽 > bootloader
在嵌入式操作系統(tǒng)中,BootLoader是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行。可以初始化硬件設(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。
在嵌入式操作系統(tǒng)中,BootLoader是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行。可以初始化硬件設(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。在嵌入式系統(tǒng)中,通常并沒有像BIOS那樣的固件程序(注,有的嵌入式CPU也會(huì)內(nèi)嵌一段短小的啟動(dòng)程序),因此整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)就完全由BootLoader來完成。在一個(gè)基于ARM7TDMI core的嵌入式系統(tǒng)中,系統(tǒng)在上電或復(fù)位時(shí)通常都從地址0x00000000處開始執(zhí)行,而在這個(gè)地址處安排的通常就是系統(tǒng)的BootLoader程序。
在嵌入式操作系統(tǒng)中,BootLoader是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行。可以初始化硬件設(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。在嵌入式系統(tǒng)中,通常并沒有像BIOS那樣的固件程序(注,有的嵌入式CPU也會(huì)內(nèi)嵌一段短小的啟動(dòng)程序),因此整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù)就完全由BootLoader來完成。在一個(gè)基于ARM7TDMI core的嵌入式系統(tǒng)中,系統(tǒng)在上電或復(fù)位時(shí)通常都從地址0x00000000處開始執(zhí)行,而在這個(gè)地址處安排的通常就是系統(tǒng)的BootLoader程序。
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)來實(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的源程序。
反過來,大部分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)變得越來越流行。一個(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來作為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歸納出一些通用的概念來,以指導(dǎo)用戶特定的BootLoader設(shè)計(jì)與實(shí)現(xiàn)。
操作模式
1.自啟動(dòng)模式:在這種模式下,bootloader從目標(biāo)機(jī)上的某個(gè)固態(tài)存儲(chǔ)設(shè)備上將操作系統(tǒng)加載到RAM中運(yùn)行,整個(gè)過程并沒有用戶的介入。
2.交互模式:在這種模式下,目標(biāo)機(jī)上的bootloader將通過串口或網(wǎng)絡(luò)等通行手段從開發(fā)主機(jī)(Host)上下載內(nèi)核映像等到RAM中。可以被bootloader寫到目標(biāo)機(jī)上的固態(tài)存儲(chǔ)媒質(zhì)中,或者直接進(jìn)入系統(tǒng)的引導(dǎo)。也可以通過串口接收用戶的命令。
在嵌入式操作系統(tǒng)中,BootLoader是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行。可以初始化硬件設(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適狀態(tài),以...
2018-08-08 標(biāo)簽:看門狗bootloader 4.1萬 0
樹莓派應(yīng)該算是一個(gè)微型臺(tái)式機(jī),屬于一種硬件的范疇。它用的雖然是arm的CPU,不過支持通用的操作系統(tǒng),而不是嵌入式的操作系統(tǒng)。當(dāng)然也可以安裝androi...
2018-10-30 標(biāo)簽:嵌入式開發(fā)bootloader樹莓派 2.7萬 0
如何使用STM32通用Bootloader讓OTA更加Easy
為了解決廣大開發(fā)者在添加 OTA 功能時(shí)遇到的種種困難,RT-Thread 開發(fā)團(tuán)隊(duì)為開發(fā)者提供了 STM32 系列的通用 Bootloader ,開發(fā)...
2019-03-30 標(biāo)簽:物聯(lián)網(wǎng)STM32OTA 2.5萬 0
什么是Bootloader 淺談STM32中bootloader的內(nèi)存分配
1. 什么是Bootloader Bootloader是硬件啟動(dòng)的引導(dǎo)程序,是運(yùn)行操作系統(tǒng)的前提。在操作系統(tǒng)內(nèi)核或用戶應(yīng)用程序運(yùn)行之前運(yùn)行的一段小代碼。...
2021-02-15 標(biāo)簽:cpu操作系統(tǒng)STM32 1.7萬 0
一文看懂汽車電子ECU bootloader開發(fā)(工作原理及開發(fā)要點(diǎn))
隨著半導(dǎo)體技術(shù)的不斷進(jìn)步(按照摩爾定律),MCU內(nèi)部集成的邏輯功能外設(shè)越來越多,存儲(chǔ)器也越來越大。消費(fèi)者對(duì)于汽車節(jié)能(經(jīng)濟(jì)和法規(guī)對(duì)排放的要求)型、舒適性...
2018-04-23 標(biāo)簽:汽車電子bootloader 1.5萬 0
MCU正常運(yùn)行時(shí)總是從固定地方取指令,順序運(yùn)行,程序更新時(shí)需要使用燒錄器等工具燒錄,于是有人將程序設(shè)計(jì)成,由一個(gè)程序跳轉(zhuǎn)到另一個(gè)程序,這個(gè)程序通常稱作B...
2022-04-20 標(biāo)簽:ecubootloader汽車控制器 1.3萬 0
實(shí)例圖文講解bootloader固件源碼及在線升級(jí)
本文將為大家介紹ATMEL系列MCU在線升級(jí)bootloader固件源碼及操作過程,筆者在mage和xmage上都實(shí)現(xiàn)過,不過使用的RS485,所以固件...
2017-09-19 標(biāo)簽:mcubootloader 1.2萬 0
如何在STM32F407單片機(jī)上使用通用的BootLoader經(jīng)驗(yàn)分析
在使用RT-Thread RTOS的時(shí)候發(fā)現(xiàn)官方提出了一種通用的BootLoader方案,支持F1和F4系列的芯片,正好手頭有板子便試著用了下,順便給大...
2019-08-03 標(biāo)簽:STM32RTOSBootLoader 1.1萬 0
對(duì)于系統(tǒng)啟動(dòng),bootloader的功能的簡(jiǎn)單分析
mmu,硬件設(shè)備(似乎也有軟件實(shí)現(xiàn)?),實(shí)現(xiàn)虛擬地址到物理地址映射,cpu的指令都是在虛擬地址上執(zhí)行的(這么說似乎也不準(zhǔn)確),或許該說是在沒有mmu的時(shí)...
2018-02-05 標(biāo)簽:嵌入式系統(tǒng)bootloadermmu 1.1萬 0
詳解bootloader的執(zhí)行流程與ARM Linux啟動(dòng)過程分析
RM Linux啟動(dòng)過程分析是本文要介紹的內(nèi)容,嵌入式 Linux 的可移植性使得我們可以在各種電子產(chǎn)品上看到它的身影。對(duì)于不同體系結(jié)構(gòu)的處理器來說Li...
2017-12-21 標(biāo)簽:armbootloaderlinum 1.1萬 0
1
1
arduino學(xué)習(xí)筆記25 - 給ATmega8使用新版arduino bootloader
標(biāo)簽:ATmega8bootloaderArduino 14721 1
華大HC32F460 Bootloader及應(yīng)用程序的實(shí)現(xiàn)立即下載
類別:單片機(jī) 2021-11-23 標(biāo)簽:bootloader68HC08MCU
Bootloader是什么Bootloader的介紹和過程詳細(xì)解立即下載
類別:嵌入式開發(fā) 2018-12-11 標(biāo)簽:接口源代碼Bootloader
Atmel Samc21單片機(jī)的BootLoader程序和資料合集免費(fèi)下載立即下載
類別:單片機(jī) 2019-06-27 標(biāo)簽:單片機(jī)AtmelBootLoader
Sitara AM335x Bootloader的流程分析詳細(xì)概述立即下載
類別:嵌入式開發(fā) 2018-04-23 標(biāo)簽:BootloaderAM335xSitara
PIC18系列單片機(jī)中的BootLoader的原理方法及優(yōu)點(diǎn)資料說明立即下載
類別:嵌入式開發(fā) 2018-12-14 標(biāo)簽:單片機(jī)PIC18BootLoader
PIC24FJ32GA002單片機(jī)bootloader rs485通信移植立即下載
類別:單片機(jī) 2013-05-14 標(biāo)簽:PIC單片機(jī)rs485bootloader
自制ArduinoUno R3開發(fā)板,燒寫bootloader立即下載
類別:單片機(jī) 2021-11-16 標(biāo)簽:單片機(jī)嵌入式bootloader
RT-FOTA基于RTT系統(tǒng)bootloader通用軟件立即下載
類別:電子資料 2022-04-15 標(biāo)簽:RTTbootloaderFOTA
個(gè)人數(shù)字媒體中心PMP的Bootloader引導(dǎo)程序設(shè)計(jì)立即下載
類別:電子教材 2011-09-16 標(biāo)簽:PMPBootloader數(shù)字媒體中心
基于STM32F407的STM32通用BootLoader使用經(jīng)驗(yàn)立即下載
類別:單片機(jī) 2021-11-30 標(biāo)簽:ChipON單片機(jī)bootloader
對(duì)于很多安卓手機(jī)用戶們來說,相信刷過機(jī)的用戶們一定對(duì)Bootloader模式不會(huì)陌生,Bootloader就相當(dāng)于手機(jī)的bios,它在手機(jī)啟動(dòng)的時(shí)候根據(jù)...
2017-11-10 標(biāo)簽:bootloader 4.9萬 0
在嵌入式操作系統(tǒng)中,BootLoader是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行。可以初始化硬件設(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適狀態(tài),以...
2017-11-15 標(biāo)簽:解鎖bootloader 4.0萬 0
先將手機(jī)關(guān)機(jī)(注意需要首先在設(shè)置菜單中,關(guān)閉“快速啟動(dòng)”功能,或者關(guān)機(jī)后拔下電池,超過2秒后再重新插入),然后同時(shí)按下音量下鍵以及開機(jī)鍵(平板請(qǐng)同時(shí)按下...
2017-11-10 標(biāo)簽:bootloader 4.0萬 0
bootloader是什么意思_bootloader是什么程序
Bootloader是嵌入式系統(tǒng)在加電后執(zhí)行的第一段代碼,在它完成CPU和相關(guān)硬件的初始化之后,再將操作系統(tǒng)映像或固化的嵌入式應(yīng)用程序裝在到內(nèi)存中然后跳...
2017-11-10 標(biāo)簽:bootloader 1.4萬 0
realme國(guó)內(nèi)機(jī)型開放BL解鎖,有風(fēng)險(xiǎn)要謹(jǐn)慎
昨天晚間realme CMO徐起公布了一個(gè)讓發(fā)燒友激動(dòng)的消息,那就是realme國(guó)內(nèi)機(jī)型全部開放BL解鎖。
2019-11-28 標(biāo)簽:智能手機(jī)Bootloader 1.3萬 0
如何將ArduinoBootLoader刻錄到AtMega328p芯片上
假設(shè)您已經(jīng)擁有一個(gè)Arduino Uno或類似產(chǎn)品,并且您對(duì)IDE熟悉并且上傳草圖。
2019-09-26 標(biāo)簽:bootloaderArduinoAtmega328P 9046 0
Bootloader中LCD硬件初始化和軟件驅(qū)動(dòng)程序設(shè)計(jì)
Android系統(tǒng)在正常啟動(dòng)中,刷屏功能一般在內(nèi)核中執(zhí)行,而Bootloader的任務(wù)應(yīng)該是執(zhí)行硬件初始化,并盡快跳轉(zhuǎn)到Linux內(nèi)核。在Bootloa...
2018-03-07 標(biāo)簽:LCDBootloader 9038 0
BootLoader就是單片機(jī)啟動(dòng)時(shí)候運(yùn)行的一段小程序,這段程序負(fù)責(zé)單片機(jī)固件的更新,也就是單片機(jī)選擇性的自己給自己下程序。可以更新,也可以不更新,更新...
2017-11-10 標(biāo)簽:bootloader 7859 0
怎樣使用USBasp和Arduino將Bootloader刻錄到ATmega8
將Atmega8開發(fā)板連接到Arduino
2019-12-11 標(biāo)簽:ATmega8bootloaderArduino 5435 0
Bootloader應(yīng)該是每個(gè)成熟產(chǎn)品都必須具備的功能,有了它,我們不用擔(dān)心產(chǎn)品銷售出去后發(fā)現(xiàn)產(chǎn)品固件有問題而無法解決的問題,有了Bootloader功...
2017-11-10 標(biāo)簽:stm32bootloader 5177 0
編輯推薦廠商產(chǎn)品技術(shù)軟件/工具OS/語言教程專題
電機(jī)控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動(dòng)駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無刷電機(jī) | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機(jī) | PID | MOSFET | 傳感器 | 人工智能 | 物聯(lián)網(wǎng) | NXP | 賽靈思 |
步進(jìn)電機(jī) | SPWM | 充電樁 | IPM | 機(jī)器視覺 | 無人機(jī) | 三菱電機(jī) | ST |
伺服電機(jī) | SVPWM | 光伏發(fā)電 | UPS | AR | 智能電網(wǎng) | 國(guó)民技術(shù) | Microchip |
Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |