當前位置:才華齋>IT認證>嵌入式>

關於嵌入式Linux系統基礎知識

嵌入式 閱讀(1.4W)

由於嵌入式系統只針對一項特殊的任務,設計人員能夠對它進行優化,減小尺寸降低成本。下面是小編收集的嵌入式Linux系統基礎知識,希望大家認真閱讀!

關於嵌入式Linux系統基礎知識

  一、嵌入式Linux系統的構成

1、硬體

2、核心

3、應用程式(形成根檔案系統)

  二、構建嵌入式Linux系統的主要任務

1、核心部分

2、應用程式部分

嵌入式Linux的開發大致可分為三個層次:引導裝載核心、構造檔案系統和圖形使用者介面。作為作業系統重要組成部分的檔案系統,決定了作業系統本身的資訊和使用者的資料在儲存裝置上的組織形式。對嵌入式檔案系統的研究、設計和開發也逐漸成為嵌入式系 統研究領域的一個方向。

  三、核心精簡

在精簡核心在編譯核心之前,首先要明確需要那些驅動和模組,然後只選擇需要的驅動和模組,

例如,如果系統不需要網路支援,則可以去掉網路模組 。

核心一般是以壓縮方式存放的,在系統啟動時會自行解壓。

核心都是常駐記憶體的,當需要呼叫應用程式時,再把需要的程式從磁碟調入記憶體執行。

構建嵌入式Linux系統-構建核心常用的命令包括:

◆ make config:核心配置,呼叫 ./scripts/Configure 按照 arch/i386/ 來進行配置。

◆ make dep:尋找依賴關係。

◆ make clean:清除以前構建核心所產生的所有目標檔案、模組檔案、以及一些臨時檔案等。

◆ make rmproper:刪除所有因構建核心過程中產生的所有檔案,把核心恢復到最原始的狀態。

◆ make:構核,通過各目錄的Makefile 檔案將會在各個目錄下產生許多目標檔案。如果核心沒有錯誤,將產生檔案vmlinux,這就是構建的核心。

◆ make zImage:在make 的基礎上產生壓縮的核心映象檔案./arch/$(ARCH)/boot/zImage 以及在 ./arch/$(ARCH)/boot/compresed/目錄下產生臨時檔案。

◆ make bzImage:在make 的基礎上產生壓縮比例更大的核心映象檔案./arch/$(ARCH)/boot/bzImage 以及在 ./arch/$(ARCH)/boot/compresed/目錄下產生臨時檔案。

◆ make modules:編譯模組檔案,在make config 時所配置的所有模組將在這時編譯,形成模組目標檔案,並把這些目標檔案存放在modules 目錄中。

◆ make modules_install:把上面編譯好的模組目標檔案放置在目錄 ./lib/modules/$KERNEL_VERSION/ 中。上面的編譯核心是在沒有改變原始碼的情況下實現的,如果覺得原始碼提供的功能在某些方面不能滿足要求,就要修改原始碼了。原始碼中主要有以下幾個關鍵部分:有關程序管理的task_struct 結構,這個結構幾乎包括了與程序有關的所有檔案內容,還有任務佇列、時鐘管理和中斷管理,各種程序間的通訊機制,記憶體管理中各種記憶體分配函式的實現,虛擬檔案系統。

  四、嵌入式系統的組成

1、嵌入式硬體(嵌入式處理器和嵌入式外圍裝置)

2、嵌入式作業系統

3、嵌入式應用軟體

嵌入式處理器

嵌入式系統的核心是各種型別的嵌入式處理器,嵌入式處理器與通用處理器最大的不同點在於,嵌入式CPU大多工作在為特定使用者群所專門設計的系統中,它將通用CPU中許多由板卡完成的任務整合到晶片內部,從而有利於嵌入式系統在設計時趨於小型化,同時還具有很高的效率和可靠性。

嵌入式處理器的體系結構經歷了從CISC(複雜指令集)至RISC(精簡指令集)和Compact RISC的轉變,位數則由4位、8位、16位、32位逐步發展到64位。目前常用的嵌入式處理器可分為低端的嵌入式微控制器(Micro Controller Unit,MCU)、中高階的嵌入式微處理器(Embedded Micro Processor Unit,EMPU)、用於計算機通訊領域的嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP)和高度整合的嵌入式片上系統(System On Chip,SOC)。

目前幾乎每個半導體制造商都生產嵌入式處理器,並且越來越多的公司開始擁有自主的處理器設計部門,據不完全統計,全世界嵌入式處理器已經超過1000多種,流行的體系結構有30多個系列,其中以ARM、PowerPC、MC 68000、MIPS等使用得最為廣泛。

嵌入式外圍裝置

在嵌入系統硬體系統中,除了中心控制部件(MCU、DSP、EMPU、SOC)以外,用於完成儲存、通訊、除錯、顯示等輔助功能的其他部件,事實上都可以算作嵌入式外圍裝置。目前常用的嵌入式外圍裝置按功能可以分為儲存裝置、通訊裝置和顯示裝置三類。

儲存裝置主要用於各類資料的儲存,常用的有靜態易失型儲存器(RAM、SRAM)、動態儲存器(DRAM)和非易失型儲存器(ROM、EPROM、EEPROM、FLASH)三種,其中FLASH憑藉其可擦寫次數多、儲存速度快、儲存容量大、價格便宜等優點,在嵌入式領域內得到了廣泛應用。

目前存在的絕大多數通訊裝置都可以直接在嵌入式系統中應用,包括RS-232介面(序列通訊介面)、SPI(序列外圍裝置介面)、IrDA(紅外線介面)、I2C(現場匯流排)、USB(通用序列匯流排介面)、Ethernet(乙太網介面)等。

由於嵌入式應用場合的特殊性,通常使用的是陰極射線管(CRT)、液晶顯示器(LCD)和觸控板(Touch Panel)等外圍顯示裝置。

嵌入式作業系統

為了使嵌入式系統的開發更加方便和快捷,需要有專門負責管理儲存器分配、中斷處理、任務排程等功能的軟體模組,這就是嵌入式作業系統。嵌入式作業系統是用來支援嵌入式應用的系統軟體,是嵌入式系統極為重要的.組成部分,通常包括與硬體相關的底層驅動程式、系統核心、裝置驅動介面、通訊協議、圖形使用者介面(GUI)等。嵌入式作業系統具有通用作業系統的基本特點,如能夠有效管理複雜的系統資源,能夠對硬體進行抽象,能夠提供庫函式、驅動程式、開發工具集等。但與通用作業系統相比較,嵌入式作業系統在系統實時性、硬體依賴性、軟體固化性以及應用專用性等方面,具有更加鮮明的特點。

嵌入式作業系統根據應用場合可以分為兩大類:一類是面向消費電子產品的非實時系統,這類裝置包括個人數字助理(PDA)、行動電話、機頂盒(STB)等;另一類則是面向控制、通訊、醫療等領域的實時作業系統,如WindRiver公司的VxWorks、QNX系統軟體公司的QNX等。實時系統(Real Time System)是一種能夠在指定或者確定時間內完成系統功能,並且對外部和內部事件在同步或者非同步時間內能做出及時響應的系統。在實時系統中,操作的正確性不僅依賴於邏輯設計的正確程度,而且與這些操作進行的時間有關,也就是說,實時系統對邏輯和時序的要求非常嚴格,如果邏輯和時序控制出現偏差將會產生嚴重後果。

實時系統主要通過三個效能指標來衡量系統的實時性,即響應時間(Response Time)、生存時間(Survival Time)和吞吐量(Throughput):

響應時間  是實時系統從識別出一個外部事件到做出響應的時間;

生存時間 是資料的有效等待時間,資料只有在這段時間內才是有效的;

吞吐量   是在給定的時間內系統能夠處理的事件總數,吞吐量通常比平均響應時間的倒數要小一點。

實時系統根據響應時間可以分為弱實時系統、一般實時系統和強實時系統三種。弱實時系統在設計時的宗旨是使各個任務執行得越快越好,但沒有嚴格限定某一任務必須在多長時間內完成,弱實時系統更多關注的是程式執行結果的正確與否,以及系統安全效能等其他方面,對任務執行時間的要求相對來講較為寬鬆,一般響應時間可以是數十秒或者更長。一般實時系統是弱實時系統和強實時系統的一種折衷,它的響應時間可以在秒的數量級上,廣泛應用於消費電子裝置中。強實時系統則要求各個任務不僅要保證執行過程和結果的正確性,同時還要保證在限定的時間內完成任務,響應時間通常要求在毫秒甚至微秒的數量級上,這對涉及到醫療、安全、軍事的軟硬體系統來說是至關重要的。

時限(deadline)是實時系統中的一個重要概念,指的是對任務截止時間的要求,根據時限對系統性能的影響程度,實時系統又可以分為軟實時系統(soft real-time-system)和硬實時系統(hard real-time-system)。軟實時指的是雖然對系統響應時間有所限定,但如果系統響應時間不能滿足要求,並不會導致系統產生致命的錯誤或者崩潰;硬實時則指的是對系統響應時間有嚴格的限定,如果系統響應時間不能滿足要求,就會引起系統產生致命的錯誤或者崩潰。如果一個任務在時限到達之時尚未完成,對軟實時系統來說還是可以容忍的,最多隻會降低系統性能,但對硬實時系統來說則是無法接受的,因為這樣帶來的後果根本無法預測,甚至可能是災難性的。在目前實際運用的實時系統中,通常允許軟硬兩種實時性同時存在,其中一些事件沒有時限要求,另外一些事件的時限要求是軟實時的,而對系統產生關鍵影響的那些事件的時限要求則是硬實時的。

  嵌入式應用軟體

嵌入式應用軟體是針對特定應用領域,基於某一固定的硬體平臺,用來達到使用者預期目標的計算機軟體,由於使用者任務可能有時間和精度上的要求,因此有些嵌入式應用軟體需要特定嵌入式作業系統的支援。嵌入式應用軟體和普通應用軟體有一定的區別,它不僅要求其準確性、安全性和穩定性等方面能夠滿足實際應用的需要,而且還要儘可能地進行優化,以減少對系統資源的消耗,降低硬體成本

  四、如何構建嵌入式Linux系統的設計步驟

嵌入式系統目前主要有:Windows CE、VxWorks、QNX等,它們都具較好的實時性,系統可靠性,任務處理隨機性等優點。但是它們的價格普遍偏高,很多開發商承受不起。因而,Linux作業系統成為嵌入式作業系統的首選。以下小編來整理了一些關於如何構建嵌入式Linux系統的資料,方便大家對構建嵌入式Linux系統有一定的認識,希望能給大家有所幫助。