• 招生咨詢熱線:4008-569-579 
  • 手機版
    用手機掃描二維碼直達商品手機版
招生咨詢熱線
4008-569-579
機構(gòu)主頁 > 培訓資料 > 嵌入式開發(fā):嵌入式 Linux 系統(tǒng)的組件
機構(gòu)主頁 > 培訓資料>嵌入式開發(fā):嵌入式 Linux 系統(tǒng)的組件

嵌入式開發(fā):嵌入式 Linux 系統(tǒng)的組件

來源:廣州達內(nèi)教育        時間:2023-05-30        熱度:52℃        返回列表

  大多數(shù)嵌入式設備都是為了在通常資源受限或低規(guī)格的設備上執(zhí)行特定任務而構(gòu)建的。

因此,大多數(shù)嵌入式開發(fā)人員需要去除不必要的庫和模塊,并為其特定設備和用例創(chuàng)建自定義分發(fā)。我們先來了解一下嵌入式 Linux

系統(tǒng)有哪些組件。


  引導加載程序


  從技術(shù)上講,它位于系統(tǒng)之外,其運行方式與首先運行 BIOS

的臺式機或服務器系統(tǒng)不同。在嵌入式系統(tǒng)上,硬件啟動負責基本初始化和執(zhí)行內(nèi)核的引導加載程序。在嵌入式系統(tǒng)上,這可以通過以下方式處理:GRUB、LILO 或 Das

U-Boot。后者專門用于嵌入式設備。


  Linux內(nèi)核


  包含進程和內(nèi)存管理、網(wǎng)絡堆棧、設備驅(qū)動程序,并為任何用戶空間應用程序提供服務。引導加載程序?qū)?nèi)核加載到內(nèi)存中并運行它。內(nèi)核尋找首先運行的“init”程序。

“Init”程序負責啟動其他服務,例如硬件驅(qū)動程序、文件系統(tǒng)驅(qū)動程序、文件系統(tǒng)掛載、服務和其他應用程序。內(nèi)核只知道 init

程序,如果找不到它,就會“內(nèi)核崩潰”。


  嵌入式系統(tǒng)上的內(nèi)核與臺式機等大型系統(tǒng)中的內(nèi)核相同。主要區(qū)別在于嵌入式 Linux 內(nèi)核專為在不同的 CPU

架構(gòu)上運行而構(gòu)建。




  根文件系統(tǒng)


  根文件系統(tǒng)包含 C 庫和 Linux

服務/命令,以及其他必要的腳本。在嵌入式開發(fā)中,文件系統(tǒng)是內(nèi)核和用戶空間應用程序之間的接口。在初始化時,內(nèi)核將每個程序加載到內(nèi)存中,并希望將它們組織到文件和目錄中。這是根文件系統(tǒng),應該提前創(chuàng)建并掛載到“/”,然后內(nèi)核才能啟動“init”。


  用戶空間


  用戶空間是任何自定義應用程序或服務所在的地方。 init

程序還負責將這些加載到內(nèi)存中。大多數(shù)嵌入式系統(tǒng)都是執(zhí)行特定功能的單一用途應用程序,因此嵌入式系統(tǒng)上的應用程序往往是精簡和最小化的。在目標嵌入式處理器上運行

Linux 需要至少 8MB 的 RAM,大多數(shù)應用程序至少需要 32MB 的 RAM。 RAM 的實際要求取決于你的嵌入式應用程序的大小。除了 RAM

之外,還需要至少 4MB 的存儲內(nèi)存。它可以是以下類型之一:NAND 或 NOR 閃存、SD 或 MMC 卡。


  主板支持包


  主板支持包包含驅(qū)動程序和其他軟件,它們與你正在運行的特定硬件和操作系統(tǒng)相連接。 對于 Linux

系統(tǒng),每種電路板類型都有自己的一組 BSP。在嵌入式開發(fā)某些情況下,如果你需要硬件來執(zhí)行默認 BSP

中未包含的特定功能,你可能需要自定義這些并編寫你自己的驅(qū)動程序來支持你的特定應用程序。

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部