嵌入式Linux系統執行基礎元件及其概念

2021-10-01 10:16:21 字數 3033 閱讀 4347

系統執行基礎元件:uboot、核心(kernel)、裝置樹(dtb)、根檔案系統(rootfs)

linux燒錄檔案u

-

boot

【u-boot.imx】u-boot的映象檔案

核心(kernel)zimage】 核心的映象檔案

裝置樹(dtb)【xx.dtb】

根檔案系統(rootfs)【rootfs.tar.bz2】rootfs打包

u-boot 的主要作用是用來啟動作業系統核心,它分為兩個階段,即 boot + loader

boot階段啟動系統,初始化硬體裝置,建立記憶體空間對映圖,將系統的軟硬體帶到乙個合適的狀態,loader階段將作業系統核心檔案載入至記憶體,之後跳轉到核心所在位址執行。

映象啟動,從記憶體啟動應用程式映象,使用 bootp/tftp

協議通過網路啟動映象,列印控制台裝置和資訊,列印有關檔案系統的資訊,列出目錄中的檔案等等。

啟動模式:直接可以啟動作業系統執行。

第一階段:

第二階段:

linux 核心採用單核心架構,即 linux 大部分功能都會在核心中實現,如程序管理、記憶體管理、裝置管理、檔案管理以及網路管理等功能,它們是執行在核心空間中(也可以稱之為特權模式下執行)。而微核心,它僅僅是將核心的基本功能放入核心中,如程序管理、程序排程等,而其他的裝置管理、檔案管理等功能都放在核心空間之外(即執行在非特權模式下)。

linux

核心組成 :

linux

核心主要由

5 部分組成,分別為:程序管理子系統,記憶體管理子系統,檔案子系統,網路子系統,裝置子系統。

由系統呼叫層(系統呼叫子系統)進行統一管理,應用層通過系統呼叫層的函式介面與核心進行互動,使用者應用程式執行的

地方是使用者空間

,使用者空間之下則是

核心空間

,linux

核心正是位於核心空間中。

因為

uboot

和 linux

不能直接識別

dts

檔案,它們只能識別二進位制檔案,所以需要把 dts 檔案編譯成

dtb

檔案,而

dtc

就是將裝置樹原始碼檔案(

.dts / .dtsi

)編譯成二進位制格式裝置樹檔案(.dtb

)的編譯工具,它位於

linux

核心原始碼的

scripts/dtc

目錄。

linux

的裝置樹中,可描述的硬體資訊包括以下幾類:

dts

的載入過程:

1、將硬體配置和系統執行引數組成 device tree source (dts/dtsi

)檔案2、用dtc 工具將dts/dtsi 檔案編譯成dtb 檔案

3、載入到

linux

核心中,讓核心來識別這些資訊

4、在系統啟動時,bootloader 會將儲存在 flash 中的 dtb 拷貝到記憶體,並把 dtb 在記憶體中的起始位址傳遞給核心

根檔案系統首先是核心啟動時所

mount(掛載)

的第乙個檔案系統,核心**映像檔案儲存在根檔案系統中,而系統引導啟動程式會在根檔案系統掛載之後從中把一些基本的初始化指令碼和服務等載入到記憶體中去執行。

根目錄下子目錄和檔案:/bin系統需要的可執行檔案,一般都是一些命令,比如 ls

、mv

等命令。此目錄下的命令所有的客戶都可以使用。

/dev

裝置檔案

/etc

配置檔案

/lib

linux 所必須的庫檔案。共享庫。命令和使用者編寫的應用程式要使用這些庫檔案

/mnt

臨時掛載目錄,一般是空目錄,可以在此目錄下建立空的子目錄(如/mnt/sd

、/mnt/usb)

/proc

一般是空目錄,檔案都是臨時存在,一般用來儲存系統執行資訊檔案。(虛擬檔案系統,沒有實際的儲存裝置)

/usr

(unix software resource)unix 作業系統軟體資源目錄

/var

存放一些可以改變的資料

/sbin

存放可執行檔案,但是此目錄下的檔案或者說命令只有管理員才能使用,主要使用者系統管理。

/sys

系統裝置管理的重要目錄,此目錄通過一定的組織結構向使用者提供詳細的核心資料結構資訊

/opt

可選的檔案、軟體存放區,由使用者選擇將哪些檔案或軟體放到此目錄中。

嵌入式linux基礎

缺頁中斷和時鐘中斷都屬於中斷,在核心態執行。程序排程屬於系統呼叫,在核心態執行,命令解釋程式屬於命令介面,在使用者態執行。1 insmod和modprobe都可以用來載入驅動模組,請描述這兩者的差異。2 請給出三種以上linux驅動模組載入失敗的可能原因。1 modprobe和insmod類似,都是...

嵌入式linux基礎

一 嵌入式系統定義 嵌入式系統是以應用為中心,以計算機技術為基礎,並且軟硬體可裁剪,適用於應用系統對功能,可靠性,成本,體積,功耗有嚴格要求的專用計算機系統。二 嵌入式學習的重點 1 站在全域性進行領會,不糾纏細節 2 了解嵌入式系統開發的流程 3 學習嵌入式系統開發的理念 4 了解嵌入式系統開發的...

嵌入式系統基礎知識 了解嵌入式系統

嵌入式系統用於大量電子裝置,它們的設計涉及到硬體和軟體技術。隨著計算機技術的進步,其技術也越來越多地嵌入到越來越多的電子產品中。嵌入式系統提供的功能是使電子裝置具有比僅使用硬體技術時更大的能力。因此,嵌入式系統可用於各種電子裝置和小工具中。從電子計時器等專案中的少量處理,到遊戲控制台甚至主要工廠和其...