嵌入式核心

嵌入式核心

嵌入式核心是在嵌入式硬體軟體之間的抽象層,它具有五個方面的作用:任務管理(Task Management)、定時(Timers)、設備I/O主管(Device I/O Supervisor)、動態存儲分配(Dynamic Memory Allocation)、任務間同步通信(Inter-task Communication&Synchronization)。嵌入式系統中的核心是系統的核心,系統所有的任務及所完成的功能都是在核心的控制之下完成的。我們可以編程,然後通過程式控制核心完成我們所需要的工作。

基本介紹

  • 中文名:嵌入式核心
  • 外文名:Embedded core
  • 套用領域:計算機等
  • 組成部分:pu初始化、執行緒調度等
  • 實質:嵌入式硬體和軟體之間的抽象層
  • 地位:系統的核心
分類,核心架構,目錄檔案,核心配置編譯,核心配置,核心編譯,安裝核心,核心清理,未來發展,

分類

一個系統要進行工作要包括三部分,即boot+ 核心+ 檔案系統。而真正核心的東西其實很少,包括cpu初始化、執行緒調度記憶體分配檔案系統、網路協定棧、驅動這些部分。在基於優先權的調度中,核心處理任務所需的僅僅是每個任務的優先權,倘若一個任務的優先權高於另外一個任務的優先權,那么該任務會先於另外一個任務執行。而對於安全性要求很高的系統,就需要利用分區調度來完成。在分區調度中,核心要求任務分成許多組,每一個組中含有許多相關的任務。分區調度器根據一系列的時鐘視窗來執行某個任務。每個過程中的任務只有當時鐘視窗來臨這個任務時才開始運行,所有過程中的其他任務在這個過程中則不能運行。
以linux為例,Linux可以分為User Space和Kernel Space,即構成用戶空間核心空間
用戶空間:應用程式 C庫 系統配置檔案等
核心空間:在記憶體中,用戶一般不能直接接觸到(系統調用接口,體系結構相關的一些代碼等等)
其實核心空間與用戶空間是程式執行的兩種不同的狀態,通過系統調用和硬體中斷能夠完成從用戶空間到核心空間轉移。

核心架構

核心架構是有七個子系統組成的。
1. 系統調用接口模組
2. 進程管理模組
3. 記憶體管理子系統
4. 體系結構相關的子系統(和CPU密切相關)
6. 網路協定棧子系統
7. 設備驅動程式模組

目錄檔案

核心源碼下幾個重要的目錄檔案
arch目錄:arch是architecture的縮寫,核心所支持的每種cpu體系,在該目錄下都有對應的子目錄。每個CPU的子目錄,有進一步分解為boot,mm,kernel等子目錄,分別包含控制系統引導,記憶體管理,系統調用等
documentation目錄:核心的文檔(比如一些驅動的使用方法,一些核心的更新記錄等等都是放在這個目錄裡面)
drivers目錄:設備驅動程式
include目錄:核心所需要的頭檔案,與平台無關的頭檔案在include/linux子目錄下,與平台相關的頭檔案則放在相應的子目錄中
fs目錄:存放各種檔案系統的實現代碼,每個子目錄對應一種檔案系統的實現,公用的源程式用於實現虛擬檔案系統VFS

核心配置編譯

核心配置

下載解壓核心源碼,在核心源碼目錄下,有兩個命令可以配置核心
1. make config: 基於文本模式的互動式配置
2. make menuconfig: 基於文本模式的選單型配置(這個配置方法更直觀、簡單、高效)
三個選項所代表的意義:
<*>選擇該功能,該功能會被編譯進核心,運行在記憶體中
<M>選中該功能,核心模組,不編譯進核心,會將相應的模組編譯成.O檔案,然後放到相應的目錄下存放在硬碟裡面,當要用到該功能時,核心會把該功能載入到記憶體中,不用的時候從記憶體中刪除,這樣可以節省記憶體,提高記憶體利用率
< >本次編譯不選中該功能
核心配置的結果:核心配置通常是在一個已有的配置檔案基礎上,通過修改得到新的配置檔案,linux核心提供了一系列可供參考的核心配置檔案,位於Arch/$cpu/configs

核心編譯

X86: make bzImage
arm: make uImage ARCH=arm CROSS_COMPILE=arm-linux-

安裝核心

核心清理

未來發展

嵌入式核心是集成的下一步發展。通常,集成是工業三大要素--更高性能、更短面試時間和更低製造成本的主要策略。在不斷面向更高集成度的前進道路上,微處理器可程式邏輯器件沿著相同的道路在各自發展。在更高性能的推動下,微處理器的數據通道變得更寬更遠,能處理更長的指令。板上高速緩衝,更長的時鐘速率和更高效地邏輯操作提高了工作速度。

相關詞條

熱門詞條

聯絡我們