- 相關(guān)推薦
關(guān)于嵌入式Linux系統基礎知識
由于嵌入式系統只針對一項特殊的任務(wù),設計人員能夠對它進(jìn)行優(yōu)化,減小尺寸降低成本。下面是小編收集的嵌入式Linux系統基礎知識,希望大家認真閱讀!
一、嵌入式Linux系統的構成
1、硬件
2、內核
3、應用程序(形成根文件系統)
二、構建嵌入式Linux系統的主要任務(wù)
1、內核部分
2、應用程序部分
嵌入式Linux的開(kāi)發(fā)大致可分為三個(gè)層次:引導裝載內核、構造文件系統和圖形用戶(hù)界面。作為操作系統重要組成部分的文件系統,決定了操作系統本身的信息和用戶(hù)的數據在存儲設備上的組織形式。對嵌入式文件系統的研究、設計和開(kāi)發(fā)也逐漸成為嵌入式系 統研究領(lǐng)域的一個(gè)方向。
三、內核精簡(jiǎn)
在精簡(jiǎn)內核在編譯內核之前,首先要明確需要那些驅動(dòng)和模塊,然后只選擇需要的驅動(dòng)和模塊,
例如,如果系統不需要網(wǎng)絡(luò )支持,則可以去掉網(wǎng)絡(luò )模塊 。
內核一般是以壓縮方式存放的,在系統啟動(dòng)時(shí)會(huì )自行解壓。
內核都是常駐內存的,當需要調用應用程序時(shí),再把需要的程序從磁盤(pán)調入內存運行。
構建嵌入式Linux系統-構建內核常用的命令包括:
◆ make config:內核配置,調用 ./scripts/Configure 按照 arch/i386/config.in 來(lái)進(jìn)行配置。
◆ make dep:尋找依賴(lài)關(guān)系。
◆ make clean:清除以前構建內核所產(chǎn)生的所有目標文件、模塊文件、以及一些臨時(shí)文件等。
◆ make rmproper:刪除所有因構建內核過(guò)程中產(chǎn)生的所有文件,把內核恢復到最原始的狀態(tài)。
◆ make:構核,通過(guò)各目錄的Makefile 文件將會(huì )在各個(gè)目錄下產(chǎn)生許多目標文件。如果內核沒(méi)有錯誤,將產(chǎn)生文件vmlinux,這就是構建的內核。
◆ make zImage:在make 的基礎上產(chǎn)生壓縮的內核映象文件./arch/$(ARCH)/boot/zImage 以及在 ./arch/$(ARCH)/boot/compresed/目錄下產(chǎn)生臨時(shí)文件。
◆ make bzImage:在make 的基礎上產(chǎn)生壓縮比例更大的內核映象文件./arch/$(ARCH)/boot/bzImage 以及在 ./arch/$(ARCH)/boot/compresed/目錄下產(chǎn)生臨時(shí)文件。
◆ make modules:編譯模塊文件,在make config 時(shí)所配置的所有模塊將在這時(shí)編譯,形成模塊目標文件,并把這些目標文件存放在modules 目錄中。
◆ make modules_install:把上面編譯好的模塊目標文件放置在目錄 ./lib/modules/$KERNEL_VERSION/ 中。上面的編譯內核是在沒(méi)有改變源代碼的情況下實(shí)現的,如果覺(jué)得源代碼提供的功能在某些方面不能滿(mǎn)足要求,就要修改源代碼了。源代碼中主要有以下幾個(gè)關(guān)鍵部分:有關(guān)進(jìn)程管理的task_struct 結構,這個(gè)結構幾乎包括了與進(jìn)程有關(guān)的所有文件內容,還有任務(wù)隊列、時(shí)鐘管理和中斷管理,各種進(jìn)程間的通信機制,內存管理中各種內存分配函數的實(shí)現,虛擬文件系統。
四、嵌入式系統的組成
1、嵌入式硬件(嵌入式處理器和嵌入式外圍設備)
2、嵌入式操作系統
3、嵌入式應用軟件
嵌入式處理器
嵌入式系統的核心是各種類(lèi)型的嵌入式處理器,嵌入式處理器與通用處理器最大的不同點(diǎn)在于,嵌入式CPU大多工作在為特定用戶(hù)群所專(zhuān)門(mén)設計的系統中,它將通用CPU中許多由板卡完成的任務(wù)集成到芯片內部,從而有利于嵌入式系統在設計時(shí)趨于小型化,同時(shí)還具有很高的效率和可靠性。
嵌入式處理器的體系結構經(jīng)歷了從CISC(復雜指令集)至RISC(精簡(jiǎn)指令集)和Compact RISC的轉變,位數則由4位、8位、16位、32位逐步發(fā)展到64位。目前常用的嵌入式處理器可分為低端的嵌入式微控制器(Micro Controller Unit,MCU)、中高端的嵌入式微處理器(Embedded Micro Processor Unit,EMPU)、用于計算機通信領(lǐng)域的嵌入式DSP處理器(Embedded Digital Signal Processor,EDSP)和高度集成的嵌入式片上系統(System On Chip,SOC)。
目前幾乎每個(gè)半導體制造商都生產(chǎn)嵌入式處理器,并且越來(lái)越多的公司開(kāi)始擁有自主的處理器設計部門(mén),據不完全統計,全世界嵌入式處理器已經(jīng)超過(guò)1000多種,流行的體系結構有30多個(gè)系列,其中以ARM、PowerPC、MC 68000、MIPS等使用得最為廣泛。
嵌入式外圍設備
在嵌入系統硬件系統中,除了中心控制部件(MCU、DSP、EMPU、SOC)以外,用于完成存儲、通信、調試、顯示等輔助功能的其他部件,事實(shí)上都可以算作嵌入式外圍設備。目前常用的嵌入式外圍設備按功能可以分為存儲設備、通信設備和顯示設備三類(lèi)。
存儲設備主要用于各類(lèi)數據的存儲,常用的有靜態(tài)易失型存儲器(RAM、SRAM)、動(dòng)態(tài)存儲器(DRAM)和非易失型存儲器(ROM、EPROM、EEPROM、FLASH)三種,其中FLASH憑借其可擦寫(xiě)次數多、存儲速度快、存儲容量大、價(jià)格便宜等優(yōu)點(diǎn),在嵌入式領(lǐng)域內得到了廣泛應用。
目前存在的絕大多數通信設備都可以直接在嵌入式系統中應用,包括RS-232接口(串行通信接口)、SPI(串行外圍設備接口)、IrDA(紅外線(xiàn)接口)、I2C(現場(chǎng)總線(xiàn))、USB(通用串行總線(xiàn)接口)、Ethernet(以太網(wǎng)接口)等。
由于嵌入式應用場(chǎng)合的特殊性,通常使用的是陰極射線(xiàn)管(CRT)、液晶顯示器(LCD)和觸摸板(Touch Panel)等外圍顯示設備。
嵌入式操作系統
為了使嵌入式系統的開(kāi)發(fā)更加方便和快捷,需要有專(zhuān)門(mén)負責管理存儲器分配、中斷處理、任務(wù)調度等功能的軟件模塊,這就是嵌入式操作系統。嵌入式操作系統是用來(lái)支持嵌入式應用的系統軟件,是嵌入式系統極為重要的組成部分,通常包括與硬件相關(guān)的底層驅動(dòng)程序、系統內核、設備驅動(dòng)接口、通信協(xié)議、圖形用戶(hù)界面(GUI)等。嵌入式操作系統具有通用操作系統的基本特點(diǎn),如能夠有效管理復雜的系統資源,能夠對硬件進(jìn)行抽象,能夠提供庫函數、驅動(dòng)程序、開(kāi)發(fā)工具集等。但與通用操作系統相比較,嵌入式操作系統在系統實(shí)時(shí)性、硬件依賴(lài)性、軟件固化性以及應用專(zhuān)用性等方面,具有更加鮮明的特點(diǎn)。
嵌入式操作系統根據應用場(chǎng)合可以分為兩大類(lèi):一類(lèi)是面向消費電子產(chǎn)品的非實(shí)時(shí)系統,這類(lèi)設備包括個(gè)人數字助理(PDA)、移動(dòng)電話(huà)、機頂盒(STB)等;另一類(lèi)則是面向控制、通信、醫療等領(lǐng)域的實(shí)時(shí)操作系統,如WindRiver公司的VxWorks、QNX系統軟件公司的QNX等。實(shí)時(shí)系統(Real Time System)是一種能夠在指定或者確定時(shí)間內完成系統功能,并且對外部和內部事件在同步或者異步時(shí)間內能做出及時(shí)響應的系統。在實(shí)時(shí)系統中,操作的正確性不僅依賴(lài)于邏輯設計的正確程度,而且與這些操作進(jìn)行的時(shí)間有關(guān),也就是說(shuō),實(shí)時(shí)系統對邏輯和時(shí)序的要求非常嚴格,如果邏輯和時(shí)序控制出現偏差將會(huì )產(chǎn)生嚴重后果。
實(shí)時(shí)系統主要通過(guò)三個(gè)性能指標來(lái)衡量系統的實(shí)時(shí)性,即響應時(shí)間(Response Time)、生存時(shí)間(Survival Time)和吞吐量(Throughput):
響應時(shí)間 是實(shí)時(shí)系統從識別出一個(gè)外部事件到做出響應的時(shí)間;
生存時(shí)間 是數據的有效等待時(shí)間,數據只有在這段時(shí)間內才是有效的;
吞吐量 是在給定的時(shí)間內系統能夠處理的事件總數,吞吐量通常比平均響應時(shí)間的倒數要小一點(diǎn)。
實(shí)時(shí)系統根據響應時(shí)間可以分為弱實(shí)時(shí)系統、一般實(shí)時(shí)系統和強實(shí)時(shí)系統三種。弱實(shí)時(shí)系統在設計時(shí)的宗旨是使各個(gè)任務(wù)運行得越快越好,但沒(méi)有嚴格限定某一任務(wù)必須在多長(cháng)時(shí)間內完成,弱實(shí)時(shí)系統更多關(guān)注的是程序運行結果的正確與否,以及系統安全性能等其他方面,對任務(wù)執行時(shí)間的要求相對來(lái)講較為寬松,一般響應時(shí)間可以是數十秒或者更長(cháng)。一般實(shí)時(shí)系統是弱實(shí)時(shí)系統和強實(shí)時(shí)系統的一種折衷,它的響應時(shí)間可以在秒的數量級上,廣泛應用于消費電子設備中。強實(shí)時(shí)系統則要求各個(gè)任務(wù)不僅要保證執行過(guò)程和結果的正確性,同時(shí)還要保證在限定的時(shí)間內完成任務(wù),響應時(shí)間通常要求在毫秒甚至微秒的數量級上,這對涉及到醫療、安全、軍事的軟硬件系統來(lái)說(shuō)是至關(guān)重要的。
時(shí)限(deadline)是實(shí)時(shí)系統中的一個(gè)重要概念,指的是對任務(wù)截止時(shí)間的要求,根據時(shí)限對系統性能的影響程度,實(shí)時(shí)系統又可以分為軟實(shí)時(shí)系統(soft real-time-system)和硬實(shí)時(shí)系統(hard real-time-system)。軟實(shí)時(shí)指的是雖然對系統響應時(shí)間有所限定,但如果系統響應時(shí)間不能滿(mǎn)足要求,并不會(huì )導致系統產(chǎn)生致命的錯誤或者崩潰;硬實(shí)時(shí)則指的是對系統響應時(shí)間有嚴格的限定,如果系統響應時(shí)間不能滿(mǎn)足要求,就會(huì )引起系統產(chǎn)生致命的錯誤或者崩潰。如果一個(gè)任務(wù)在時(shí)限到達之時(shí)尚未完成,對軟實(shí)時(shí)系統來(lái)說(shuō)還是可以容忍的,最多只會(huì )降低系統性能,但對硬實(shí)時(shí)系統來(lái)說(shuō)則是無(wú)法接受的,因為這樣帶來(lái)的后果根本無(wú)法預測,甚至可能是災難性的。在目前實(shí)際運用的實(shí)時(shí)系統中,通常允許軟硬兩種實(shí)時(shí)性同時(shí)存在,其中一些事件沒(méi)有時(shí)限要求,另外一些事件的時(shí)限要求是軟實(shí)時(shí)的,而對系統產(chǎn)生關(guān)鍵影響的那些事件的時(shí)限要求則是硬實(shí)時(shí)的。
嵌入式應用軟件
嵌入式應用軟件是針對特定應用領(lǐng)域,基于某一固定的硬件平臺,用來(lái)達到用戶(hù)預期目標的計算機軟件,由于用戶(hù)任務(wù)可能有時(shí)間和精度上的要求,因此有些嵌入式應用軟件需要特定嵌入式操作系統的支持。嵌入式應用軟件和普通應用軟件有一定的區別,它不僅要求其準確性、安全性和穩定性等方面能夠滿(mǎn)足實(shí)際應用的需要,而且還要盡可能地進(jìn)行優(yōu)化,以減少對系統資源的消耗,降低硬件成本
四、如何構建嵌入式Linux系統的設計步驟
嵌入式系統目前主要有:Windows CE、VxWorks、QNX等,它們都具較好的實(shí)時(shí)性,系統可靠性,任務(wù)處理隨機性等優(yōu)點(diǎn)。但是它們的價(jià)格普遍偏高,很多開(kāi)發(fā)商承受不起。因而,Linux操作系統成為嵌入式操作系統的首選。以下小編來(lái)整理了一些關(guān)于如何構建嵌入式Linux系統的資料,方便大家對構建嵌入式Linux系統有一定的認識,希望能給大家有所幫助。
【嵌入式Linux系統基礎知識】相關(guān)文章:
Linux系統基礎知識:IO調度03-29
Linux認證基礎知識:linux操作系統目錄結構03-08
Linux操作系統文件系統基礎知識03-07
linux文件系統基礎知識匯總03-09
移植開(kāi)源軟件到嵌入式Linux系統技術(shù)攻略03-29
嵌入式Linux詳解03-29
怎么學(xué)習嵌入式linux03-09
Linux系統下ftp的管理03-05