一、硬件上電
二、一級(jí)啟動(dòng):bootROM
Boot ROM是廠商都無(wú)法進(jìn)行更改,固化在芯片內(nèi)部的ROM;
作用:確定用于啟動(dòng)的設(shè)備;從啟動(dòng)的設(shè)備的位置搬移一小段代碼(4k/8k/16k)到RAM中運(yùn)行,即SPL;
三、二級(jí)啟動(dòng):SPL+uboot
1.SPL: Secondary Program Loader:
作用:初始化DDR;從啟動(dòng)的設(shè)備搬移第二段代碼到RAM中,加載uboot;(有些SoC是將bootloader復(fù)制到RAM后,再進(jìn)行DDR初始化;)
2.uboot: Universal boot loader:
U-Boot從啟動(dòng)設(shè)備上面讀取、分析環(huán)境變量獲得kernel和rootfs存儲(chǔ)位置,以及所需的kernel command line;自動(dòng)檢測(cè)系統(tǒng)RAM和eMMC/Nand Flash容量和參數(shù);設(shè)置以太網(wǎng)口MAC地址,并配置好硬件準(zhǔn)備加載Linux kernel;加載Linux kernel到RAM,至此系統(tǒng)控制權(quán)則轉(zhuǎn)移到kernel來(lái)處理;
四、Linux Kernel
系統(tǒng)Kernel初始化Linux,加載rootfs,最后啟動(dòng)’init’來(lái)初始化Linux user space
五、不同的OS
Android、Yocto、ubuntu、fedora
補(bǔ)充:
一個(gè)嵌入式Linux系統(tǒng)從軟件的角度看通常可以分為四個(gè)層次:1、 引導(dǎo)加載程序。包括固化在固件(firmware)中的boot代碼(可選),和BootLoader兩大部分。(bootROM,uboot)
2、Linux內(nèi)核。特定于嵌入式板子的定制內(nèi)核以及內(nèi)核的啟動(dòng)參數(shù)。(linux kernel)
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是一段小程序,主要功能是引導(dǎo)操作系統(tǒng)啟動(dòng)??梢园阉胂蟪蒔C機(jī)Linux上的GRUB/LILO引導(dǎo)程序,只不過(guò)在嵌入式linux中,沒(méi)有BIOS,而是直接從flash中運(yùn)行,來(lái)裝載內(nèi)核。它可以初始化硬件設(shè)備,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)做好準(zhǔn)備
-
嵌入式
+關(guān)注
關(guān)注
5149文章
19651瀏覽量
317166 -
Linux
+關(guān)注
關(guān)注
87文章
11508瀏覽量
213624
原文標(biāo)題:嵌入式Linux OS啟動(dòng)流程,了解一下!
文章出處:【微信號(hào):gh_c472c2199c88,微信公眾號(hào):嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
嵌入式Linux的啟動(dòng)流程簡(jiǎn)介
詳細(xì)分析嵌入式Linux系統(tǒng)啟動(dòng)流程
嵌入式linux開(kāi)發(fā)的流程是怎樣的
STM32F103要接觸的嵌入式OS
嵌入式Linux系統(tǒng)開(kāi)發(fā)基礎(chǔ)

嵌入式LINUX開(kāi)發(fā)基礎(chǔ)知識(shí)
嵌入式 Linux 啟動(dòng)流程和 bootloader 介紹

嵌入式linux的運(yùn)行過(guò)程,嵌入式linux的啟動(dòng)流程--詳解

嵌入式Linux專(zhuān)題(一)——嵌入式Linux系統(tǒng)構(gòu)成及啟動(dòng)流程

【嵌入式Linux(基礎(chǔ)篇)】嵌入式Linux底層系統(tǒng)開(kāi)發(fā)流程和應(yīng)用開(kāi)發(fā)流程

評(píng)論