欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
嵌入式Linux開(kāi)發(fā)系列之一: 走進(jìn)嵌入式Linux的世界

 

肖文鵬 (xiaowp@263.net), 碩士研究生, 北京理工大學(xué)計算機系

2003 年 9 月 01 日

隨著(zhù)信息化技術(shù)的發(fā)展和數字化產(chǎn)品的普及,以計算機技術(shù)、芯片技術(shù)和軟件技術(shù)為核心的嵌入式系統再度成為當前研究和應用的熱點(diǎn),通信、計算機、消費電子技術(shù)(3C)合一的趨勢正在逐步形成,無(wú)所不在的網(wǎng)絡(luò )和無(wú)所不在的計算(everything connecting, everywhere computing)正在將人類(lèi)帶入一個(gè)嶄新的信息社會(huì )。

一、嵌入式系統

嵌入式系統是以應用為中心,以計算機技術(shù)為基礎,并且軟硬件是可裁剪的,適用于對功能、可靠性、成本、體積、功耗等有嚴格要求的專(zhuān)用計算機系統。嵌入式系統最典型的特點(diǎn)是與人們的日常生活緊密相關(guān),任何一個(gè)普通人都可能擁有各類(lèi)形形色色運用了嵌入式技術(shù)的電子產(chǎn)品,小到MP3、PDA等微型數字化設備,大到信息家電、智能電器、車(chē)載GIS,各種新型嵌入式設備在數量上已經(jīng)遠遠超過(guò)了通用計算機。這也難怪美國著(zhù)名未來(lái)學(xué)家尼葛洛龐帝在1999年1月訪(fǎng)華時(shí)就預言,4~5年后嵌入式智能工具將成為繼PC機和Internet之后計算機工業(yè)最偉大的發(fā)明。

1.1 歷史與現狀

雖然嵌入式系統是近幾年才開(kāi)始真正風(fēng)靡起來(lái)的,但事實(shí)上嵌入式這個(gè)概念卻很早就已經(jīng)存在了,從上個(gè)世紀70年代單片機的出現到今天各種嵌入式微處理器、微控制器的廣泛應用,嵌入式系統少說(shuō)也有了近30年的歷史??v觀(guān)嵌入式系統的發(fā)展歷程,大致經(jīng)歷了以下四個(gè)階段:

  • 無(wú)操作系統階段

    嵌入式系統最初的應用是基于單片機的,大多以可編程控制器的形式出現,具有監測、伺服、設備指示等功能,通常應用于各類(lèi)工業(yè)控制和飛機、導彈等武器裝備中,一般沒(méi)有操作系統的支持,只能通過(guò)匯編語(yǔ)言對系統進(jìn)行直接控制,運行結束后再清除內存。這些裝置雖然已經(jīng)初步具備了嵌入式的應用特點(diǎn),但僅僅只是使用8位的CPU芯片來(lái)執行一些單線(xiàn)程的程序,因此嚴格地說(shuō)還談不上"系統"的概念。

    這一階段嵌入式系統的主要特點(diǎn)是:系統結構和功能相對單一,處理效率較低,存儲容量較小,幾乎沒(méi)有用戶(hù)接口。由于這種嵌入式系統使用簡(jiǎn)便、價(jià)格低廉,因而曾經(jīng)在工業(yè)控制領(lǐng)域中得到了非常廣泛的應用,但卻無(wú)法滿(mǎn)足現今對執行效率、存儲容量都有較高要求的信息家電等場(chǎng)合的需要。

  • 簡(jiǎn)單操作系統階段

    20世紀80年代,隨著(zhù)微電子工藝水平的提高,IC制造商開(kāi)始把嵌入式應用中所需要的微處理器、I/O接口、串行接口以及RAM、ROM等部件統統集成到一片VLSI中,制造出面向I/O設計的微控制器,并一舉成為嵌入式系統領(lǐng)域中異軍突起的新秀。與此同時(shí),嵌入式系統的程序員也開(kāi)始基于一些簡(jiǎn)單的"操作系統"開(kāi)發(fā)嵌入式應用軟件,大大縮短了開(kāi)發(fā)周期、提高了開(kāi)發(fā)效率。

    這一階段嵌入式系統的主要特點(diǎn)是:出現了大量高可靠、低功耗的嵌入式CPU(如Power PC等),各種簡(jiǎn)單的嵌入式操作系統開(kāi)始出現并得到迅速發(fā)展。此時(shí)的嵌入式操作系統雖然還比較簡(jiǎn)單,但已經(jīng)初步具有了一定的兼容性和擴展性,內核精巧且效率高,主要用來(lái)控制系統負載以及監控應用程序的運行。

  • 實(shí)時(shí)操作系統階段

    20世紀90年代,在分布控制、柔性制造、數字化通信和信息家電等巨大需求的牽引下,嵌入式系統進(jìn)一步飛速發(fā)展,而面向實(shí)時(shí)信號處理算法的DSP產(chǎn)品則向著(zhù)高速度、高精度、低功耗的方向發(fā)展。隨著(zhù)硬件實(shí)時(shí)性要求的提高,嵌入式系統的軟件規模也不斷擴大,逐漸形成了實(shí)時(shí)多任務(wù)操作系統(RTOS),并開(kāi)始成為嵌入式系統的主流。

    這一階段嵌入式系統的主要特點(diǎn)是:操作系統的實(shí)時(shí)性得到了很大改善,已經(jīng)能夠運行在各種不同類(lèi)型的微處理器上,具有高度的模塊化和擴展性。此時(shí)的嵌入式操作系統已經(jīng)具備了文件和目錄管理、設備管理、多任務(wù)、網(wǎng)絡(luò )、圖形用戶(hù)界面(GUI)等功能,并提供了大量的應用程序接口(API),從而使得應用軟件的開(kāi)發(fā)變得更加簡(jiǎn)單。

  • 面向Internet階段

    21世紀無(wú)疑將是一個(gè)網(wǎng)絡(luò )的時(shí)代,將嵌入式系統應用到各種網(wǎng)絡(luò )環(huán)境中去的呼聲自然也越來(lái)越高。目前大多數嵌入式系統還孤立于Internet之外,隨著(zhù)Internet的進(jìn)一步發(fā)展,以及Internet技術(shù)與信息家電、工業(yè)控制技術(shù)等的結合日益緊密,嵌入式設備與Internet的結合才是嵌入式技術(shù)的真正未來(lái)。

    信息時(shí)代和數字時(shí)代的到來(lái),為嵌入式系統的發(fā)展帶來(lái)了巨大的機遇,同時(shí)也對嵌入式系統廠(chǎng)商提出了新的挑戰。目前,嵌入式技術(shù)與Internet技術(shù)的結合正在推動(dòng)著(zhù)嵌入式技術(shù)的飛速發(fā)展,嵌入式系統的研究和應用產(chǎn)生了如下新的顯著(zhù)變化:

    1. 新的微處理器層出不窮,嵌入式操作系統自身結構的設計更加便于移植,能夠在短時(shí)間內支持更多的微處理器。
    2. 嵌入式系統的開(kāi)發(fā)成了一項系統工程,開(kāi)發(fā)廠(chǎng)商不僅要提供嵌入式軟硬件系統本身,同時(shí)還要提供強大的硬件開(kāi)發(fā)工具和軟件支持包。
    3. 通用計算機上使用的新技術(shù)、新觀(guān)念開(kāi)始逐步移植到嵌入式系統中,如嵌入式數據庫、移動(dòng)代理、實(shí)時(shí)CORBA等,嵌入式軟件平臺得到進(jìn)一步完善。
    4. 各類(lèi)嵌入式Linux操作系統迅速發(fā)展,由于具有源代碼開(kāi)放、系統內核小、執行效率高、網(wǎng)絡(luò )結構完整等特點(diǎn),很適合信息家電等嵌入式系統的需要,目前已經(jīng)形成了能與Windows CE、Palm OS等嵌入式操作系統進(jìn)行有力競爭的局面。
    5. 網(wǎng)絡(luò )化、信息化的要求隨著(zhù)Internet技術(shù)的成熟和帶寬的提高而日益突出,以往功能單一的設備如電話(huà)、手機、冰箱、微波爐等功能不再單一,結構變得更加復雜,網(wǎng)絡(luò )互聯(lián)成為必然趨勢。
    6. 精簡(jiǎn)系統內核,優(yōu)化關(guān)鍵算法,降低功耗和軟硬件成本。
    7. 提供更加友好的多媒體人機交互界面。

1.2 體系結構

根據國際電氣和電子工程師協(xié)會(huì )(IEEE)的定義,嵌入式系統是"控制、監視或者輔助設備、機器和車(chē)間運行的裝置"(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。一般而言,整個(gè)嵌入式系統的體系結構可以分成四個(gè)部分:嵌入式處理器、嵌入式外圍設備、嵌入式操作系統和嵌入式應用軟件,如圖1所示。



圖1 嵌入式系統的組成

  • 嵌入式處理器

    嵌入式系統的核心是各種類(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)化,以減少對系統資源的消耗,降低硬件成本。

1.3 關(guān)鍵問(wèn)題

嵌入式系統是將先進(jìn)的計算機技術(shù)、半導體技術(shù)以及電子技術(shù)與特定行業(yè)的具體應用相結合的產(chǎn)物,因此必然是一個(gè)技術(shù)密集、資金密集、高度分散、不斷創(chuàng )新的知識集成系統,嵌入式系統的開(kāi)發(fā)充滿(mǎn)了競爭、機遇與創(chuàng )新,需要解決好如下一些關(guān)鍵問(wèn)題:

  1. 內核精巧  嵌入式系統的應用領(lǐng)域一般都是小型電子裝置,系統資源相對有限,因此對內核的要求相當高,較之傳統的操作系統來(lái)講要小得多,例如ENEA公司推出的OSE分布式嵌入式系統,整個(gè)內核只有5KB。
  2. 面向應用  嵌入式系統通常是面向用戶(hù)、面向產(chǎn)品、面向特定應用的。嵌入式系統中的CPU大多工作在為特定用戶(hù)群定制的環(huán)境中,具有低耗、體積小、集成度高等特點(diǎn),在進(jìn)行軟硬件設計時(shí)必須突出效率、去除冗余,針對用戶(hù)的具體需求對系統進(jìn)行合理的配置,方能達到理想的性能。
  3. 系統精簡(jiǎn)  嵌入式系統中的系統軟件和應用軟件通常沒(méi)有明顯的區別,不要求其功能及實(shí)現上過(guò)于復雜,這樣一方面有利于控制系統成本,另一方面也有利于保證系統安全。
  4. 性能優(yōu)化  嵌入式系統通常都要求有一定的實(shí)時(shí)性保障,為了提高執行速度和系統性能,嵌入式系統中的軟件一般都固化在存儲芯片或者處理器的內部存儲器件當中,而不是存貯在磁盤(pán)等外部載體中。由于嵌入式系統的運算速度和存儲容量存在一定程度上的限制,而且大部分系統都必須有較高的實(shí)時(shí)性保證,因此對軟件質(zhì)量(特別是可靠性方面)有著(zhù)較高的要求。
  5. 專(zhuān)業(yè)開(kāi)發(fā)  嵌入式系統本身并不具備自主開(kāi)發(fā)能力,用戶(hù)不能直接在其上進(jìn)行二次開(kāi)發(fā)。當系統完成之后,用戶(hù)如果需要修改其中某個(gè)程序的功能,必須借助一套完整的開(kāi)發(fā)工具和環(huán)境。嵌入式系統中專(zhuān)用的開(kāi)發(fā)工具和環(huán)境通常是基于通用計算機上的軟硬件設備,以及各種邏輯分析儀、混合信號示波器等。




回頁(yè)首


二、嵌入式Linux

Linux從1991年問(wèn)世到現在,短短的十幾年時(shí)間已經(jīng)發(fā)展成為功能強大、設計完善的操作系統之一,不僅可以與各種傳統的商業(yè)操作系統分庭抗爭,在新興的嵌入式操作系統領(lǐng)域內也獲得了飛速發(fā)展。嵌入式Linux(Embedded Linux)是指對標準Linux經(jīng)過(guò)小型化裁剪處理之后,能夠固化在容量只有幾K或者幾M字節的存儲器芯片或者單片機中,適合于特定嵌入式應用場(chǎng)合的專(zhuān)用Linux操作系統。

2.1 優(yōu)勢

嵌入式Linux的開(kāi)發(fā)和研究是操作系統領(lǐng)域中的一個(gè)熱點(diǎn),目前已經(jīng)開(kāi)發(fā)成功的嵌入式系統中,大約有一半使用的是Linux。Linux之所以能在嵌入式系統市場(chǎng)上取得如此輝煌的成果,與其自身的優(yōu)良特性是分不開(kāi)的。

  • 廣泛的硬件支持

    Linux能夠支持x86、ARM、MIPS、ALPHA、PowerPC等多種體系結構,目前已經(jīng)成功移植到數十種硬件平臺,幾乎能夠運行在所有流行的CPU上。Linux有著(zhù)異常豐富的驅動(dòng)程序資源,支持各種主流硬件設備和最新硬件技術(shù),甚至可以在沒(méi)有存儲管理單元(MMU)的處理器上運行,這些都進(jìn)一步促進(jìn)了Linux在嵌入式系統中的應用。

  • 內核高效穩定

    Linux內核的高效和穩定已經(jīng)在各個(gè)領(lǐng)域內得到了大量事實(shí)的驗證,Linux的內核設計非常精巧,分成進(jìn)程調度、內存管理、進(jìn)程間通信、虛擬文件系統和網(wǎng)絡(luò )接口五大部分,其獨特的模塊機制可以根據用戶(hù)的需要,實(shí)時(shí)地將某些模塊插入到內核或從內核中移走。這些特性使得Linux系統內核可以裁剪得非常小巧,很適合于嵌入式系統的需要。

  • 開(kāi)放源碼,軟件豐富

    Linux是開(kāi)放源代碼的自由操作系統,它為用戶(hù)提供了最大限度的自由度,由于嵌入式系統千差萬(wàn)別,往往需要針對具體的應用進(jìn)行修改和優(yōu)化,因而獲得源代碼就變得至關(guān)重要了。Linux的軟件資源十分豐富,每一種通用程序在Linux上幾乎都可以找到,并且數量還在不斷增加。在Linux上開(kāi)發(fā)嵌入式應用軟件一般不用從頭做起,而是可以選擇一個(gè)類(lèi)似的自由軟件做為原型,在其上進(jìn)行二次開(kāi)發(fā)。

  • 優(yōu)秀的開(kāi)發(fā)工具

    開(kāi)發(fā)嵌入式系統的關(guān)鍵是需要有一套完善的開(kāi)發(fā)和調試工具。傳統的嵌入式開(kāi)發(fā)調試工具是在線(xiàn)仿真器(In-Circuit Emulator,ICE),它通過(guò)取代目標板的微處理器,給目標程序提供一個(gè)完整的仿真環(huán)境,從而使開(kāi)發(fā)者能夠非常清楚地了解到程序在目標板上的工作狀態(tài),便于監視和調試程序。在線(xiàn)仿真器的價(jià)格非常昂貴,而且只適合做非常底層的調試,如果使用的是嵌入式Linux,一旦軟硬件能夠支持正常的串口功能時(shí),即使不用在線(xiàn)仿真器也可以很好地進(jìn)行開(kāi)發(fā)和調試工作,從而節省了一筆不小的開(kāi)發(fā)費用。嵌入式Linux為開(kāi)發(fā)者提供了一套完整的工具鏈(Tool Chain),它利用GNU的gcc做編譯器,用gdb、kgdb、xgdb做調試工具,能夠很方便地實(shí)現從操作系統到應用軟件各個(gè)級別的調試。

  • 完善的網(wǎng)絡(luò )通信和文件管理機制

    Linux至誕生之日起就與Internet密不可分,支持所有標準的Internet網(wǎng)絡(luò )協(xié)議,并且很容易移植到嵌入式系統當中。此外,Linux還支持ext2、fat16、fat32、romfs等文件系統,這些都為開(kāi)發(fā)嵌入式系統應用打下了很好的基礎。

2.2 挑戰

目前,嵌入式Linux系統的研發(fā)熱潮正在蓬勃興起,并且占據了很大的市場(chǎng)份額,除了一些傳統的Linux公司(如RedHat、MontaVista等)正在從事嵌入式Linux的開(kāi)發(fā)和應用之外,IBM、Intel、Motorola等著(zhù)名企業(yè)也開(kāi)始進(jìn)行嵌入式Linux的研究。雖然前景一片燦爛,但就目前而言,嵌入式Linux的研究成果與市場(chǎng)的真正要求仍有一段差距,要開(kāi)發(fā)出真正成熟的嵌入式Linux系統,還需要從以下幾個(gè)方面做出努力。

  • 提高系統實(shí)時(shí)性

    Linux雖然已經(jīng)被成功地應用到了PDA、移動(dòng)電話(huà)、車(chē)載電視、機頂盒、網(wǎng)絡(luò )微波爐等各種嵌入式設備上,但在醫療、航空、交通、工業(yè)控制等對實(shí)時(shí)性要求非常嚴格的場(chǎng)合中還無(wú)法直接應用,原因在于現有的Linux是一個(gè)通用的操作系統,雖然它也采用了許多技術(shù)來(lái)加快系統的運行和響應速度,并且符合POSIX 1003.1b標準,但從本質(zhì)上來(lái)說(shuō)并不是一個(gè)嵌入式實(shí)時(shí)操作系統。Linux的內核調度策略基本上是沿用UNIX系統的,將它直接應用于嵌入式實(shí)時(shí)環(huán)境會(huì )有許多缺陷,如在運行內核線(xiàn)程時(shí)中斷被關(guān)閉,分時(shí)調度策略存在時(shí)間上的不確定性,以及缺乏高精度的計時(shí)器等等。正因如此,利用Linux作為底層操作系統,在其上進(jìn)行實(shí)時(shí)化改造,從而構建出一個(gè)具有實(shí)時(shí)處理能力的嵌入式系統,是現在日益流行的解決方案。

  • 改善內核結構

    Linux內核采用的是整體式結構(Monolithic),整個(gè)內核是一個(gè)單獨的、非常大的程序,這樣雖然能夠使系統的各個(gè)部分直接溝通,有效地縮短任務(wù)之間的切換時(shí)間,提高系統響應速度,但與嵌入式系統存儲容量小、資源有限的特點(diǎn)不相符合。嵌入式系統經(jīng)常采用的是另一種稱(chēng)為微內核(Microkernel)的體系結構,即內核本身只提供一些最基本的操作系統功能,如任務(wù)調度、內存管理、中斷處理等,而類(lèi)似于文件系統和網(wǎng)絡(luò )協(xié)議等附加功能則運行在用戶(hù)空間中,并且可以根據實(shí)際需要進(jìn)行取舍。Microkernel的執行效率雖然比不上Monolithic,但卻大大減小了內核的體積,便于維護和移植,更能滿(mǎn)足嵌入式系統的要求??梢钥紤]將Linux內核部分改造成Microkernel,使Linux在具有很高性能的同時(shí),又能滿(mǎn)足嵌入式系統體積小的要求。

  • 完善集成開(kāi)發(fā)平臺

    引入嵌入式Linux系統集成開(kāi)發(fā)平臺,是嵌入式Linux進(jìn)一步發(fā)展和應用的內在要求。傳統上的嵌入式系統都是面向具體應用場(chǎng)合的,軟件和硬件之間必須緊密配合,但隨著(zhù)嵌入式系統規模的不斷擴大和應用領(lǐng)域的不斷擴展,嵌入式操作系統的出現就成了一種必然,因為只有這樣才能促成嵌入式系統朝層次化和模塊化的方向發(fā)展。很顯然,嵌入式集成開(kāi)發(fā)平臺也是符合上述發(fā)展趨勢的,一個(gè)優(yōu)秀的嵌入式集成開(kāi)發(fā)環(huán)境能夠提供比較完備的仿真功能,可以實(shí)現嵌入式應用軟件和嵌入式硬件的同步開(kāi)發(fā),從而擺脫了"嵌入式應用軟件的開(kāi)發(fā)依賴(lài)于嵌入式硬件的開(kāi)發(fā),并且以嵌入式硬件的開(kāi)發(fā)為前提"的不利局面。一個(gè)完整的嵌入式集成開(kāi)發(fā)平臺通常包括編譯器、連接器、調試器、跟蹤器、優(yōu)化器和集成用戶(hù)界面,目前Linux在基于圖形界面的特定系統定制平臺的研究上,與Windows CE等商業(yè)嵌入式操作系統相比還有很大差距,整體集成開(kāi)發(fā)環(huán)境有待提高和完善。





回頁(yè)首


三、關(guān)鍵技術(shù)

嵌入式系統是一種根據特定用途所專(zhuān)門(mén)開(kāi)發(fā)的系統,它只完成預期要完成的功能,因此其開(kāi)發(fā)過(guò)程和開(kāi)發(fā)環(huán)境同傳統的軟件開(kāi)發(fā)相比有著(zhù)顯著(zhù)的不同。

3.1 開(kāi)發(fā)流程

在嵌入式系統的應用開(kāi)發(fā)中,整個(gè)系統的開(kāi)發(fā)過(guò)程如圖2所示:



圖2 嵌入式系統的開(kāi)發(fā)流程

嵌入式系統發(fā)展到今天,對應于各種微處理器的硬件平臺一般都是通用的、固定的、成熟的,這就大大減少了由硬件系統引入錯誤的機會(huì )。此外,由于嵌入式操作系統屏蔽了底層硬件的復雜性,使得開(kāi)發(fā)者通過(guò)操作系統提供的API函數就可以完成大部分工作,因此大大簡(jiǎn)化了開(kāi)發(fā)過(guò)程,提高了系統的穩定性。嵌入式系統的開(kāi)發(fā)者現在已經(jīng)從反復進(jìn)行硬件平臺設計的過(guò)程中解脫出來(lái),從而可以將主要精力放在滿(mǎn)足特定的需求上。

嵌入式系統通常是一個(gè)資源受限的系統,因此直接在嵌入式系統的硬件平臺上編寫(xiě)軟件比較困難,有時(shí)候甚至是不可能的。目前一般采用的解決辦法是首先在通用計算機上編寫(xiě)程序,然后通過(guò)交叉編譯生成目標平臺上可以運行的二進(jìn)制代碼格式,最后再下載到目標平臺上的特定位置上運行。

需要交叉開(kāi)發(fā)環(huán)境(Cross Development Environment)的支持是嵌入式應用軟件開(kāi)發(fā)時(shí)的一個(gè)顯著(zhù)特點(diǎn),交叉開(kāi)發(fā)環(huán)境是指編譯、鏈接和調試嵌入式應用軟件的環(huán)境,它與運行嵌入式應用軟件的環(huán)境有所不同,通常采用宿主機/目標機模式,如圖3所示。



圖3 交叉開(kāi)發(fā)環(huán)境

宿主機(Host)是一臺通用計算機(如PC機或者工作站),它通過(guò)串口或者以太網(wǎng)接口與目標機通信。宿主機的軟硬件資源比較豐富,不但包括功能強大的操作系統(如Windows和Linux),而且還有各種各樣優(yōu)秀的開(kāi)發(fā)工具(如WindRiver的Tornado、Microsoft的Embedded Visual C++等),能夠大大提高嵌入式應用軟件的開(kāi)發(fā)速度和效率。

目標機(Target)一般在嵌入式應用軟件開(kāi)發(fā)期間使用,用來(lái)區別與嵌入式系統通信的宿主機,它可以是嵌入式應用軟件的實(shí)際運行環(huán)境,也可以是能夠替代實(shí)際運行環(huán)境的仿真系統,但軟硬件資源通常都比較有限。嵌入式系統的交叉開(kāi)發(fā)環(huán)境一般包括交叉編譯器、交叉調試器和系統仿真器,其中交叉編譯器用于在宿主機上生成能在目標機上運行的代碼,而交叉調試器和系統仿真器則用于在宿主機與目標機間完成嵌入式軟件的調試。在采用宿主機/目標機模式開(kāi)發(fā)嵌入式應用軟件時(shí),首先利用宿主機上豐富的資源和良好的開(kāi)發(fā)環(huán)境開(kāi)發(fā)和仿真調試目標機上的軟件,然后通過(guò)串口或者以網(wǎng)絡(luò )將交叉編譯生成的目標代碼傳輸并裝載到目標機上,并在監控程序或者操作系統的支持下利用交叉調試器進(jìn)行分析和調試,最后目標機在特定環(huán)境下脫離宿主機單獨運行。

建立交叉開(kāi)發(fā)環(huán)境是進(jìn)行嵌入式軟件開(kāi)發(fā)的第一步,目前常用的交叉開(kāi)發(fā)環(huán)境主要有開(kāi)放和商業(yè)兩種類(lèi)型。開(kāi)放的交叉開(kāi)發(fā)環(huán)境的典型代表是GNU工具鏈、目前已經(jīng)能夠支持x86、ARM、MIPS、PowerPC等多種處理器。商業(yè)的交叉開(kāi)發(fā)環(huán)境則主要有Metrowerks CodeWarrior、ARM Software Development Toolkit、SDS Cross compiler、WindRiver Tornado、Microsoft Embedded Visual C++等。

3.2 交叉編譯和鏈接

在完成嵌入式軟件的編碼之后,需要進(jìn)行編譯和鏈接以生成可執行代碼,由于開(kāi)發(fā)過(guò)程大多是在使用Intel公司x86系列CPU的通用計算機上進(jìn)行的,而目標環(huán)境的處理器芯片卻大多為ARM、MIPS、PowerPC、DragonBall等系列的微處理器,這就要求在建立好的交叉開(kāi)發(fā)環(huán)境中進(jìn)行交叉編譯和鏈接。

交叉編譯器和交叉鏈接器是能夠在宿主機上運行,并且能夠生成在目標機上直接運行的二進(jìn)制代碼的編譯器和鏈接器。例如在基于A(yíng)RM體系結構的gcc交叉開(kāi)發(fā)環(huán)境中,arm-linux-gcc是交叉編譯器,arm-linux-ld是交叉鏈接器。通常情況下,并不是每一種體系結構的嵌入式微處理器都只對應于一種交叉編譯器和交叉鏈接器,比如對于M68K體系結構的gcc交叉開(kāi)發(fā)環(huán)境而言,就對應于多種不同的編譯器和鏈接器。如果使用的是COFF格式的可執行文件,那么在編譯Linux內核時(shí)需要使用m68k-coff-gcc和m68k-coff-ld,而在編譯應用程序時(shí)則需要使用m68k-coff-pic-gcc和m68k-coff-pic-ld。

嵌入式系統在鏈接過(guò)程中通常都要求使用較小的函數庫,以便最后產(chǎn)生的可執行代碼能夠盡可能地小,因此實(shí)際運用時(shí)一般使用經(jīng)過(guò)特殊處理的函數庫。對于嵌入式Linux系統來(lái)講,功能越來(lái)越強、體積越來(lái)越大的C語(yǔ)言函數庫glibc和數學(xué)函數庫libm已經(jīng)很難滿(mǎn)足實(shí)際的需要,因此需要采用它們的精化版本uClibc、uClibm和newlib等。

目前嵌入式的集成開(kāi)發(fā)環(huán)境都支持交叉編譯和交叉鏈接,如WindRiver Tornado和GNU工具鏈等,編寫(xiě)好的嵌入式軟件經(jīng)過(guò)交叉編譯和交叉鏈接后通常會(huì )生成兩種類(lèi)型的可執行文件:用于調試的可執行文件和用于固化的可執行文件。

3.3 交叉調試

嵌入式軟件經(jīng)過(guò)編譯和鏈接后即進(jìn)入調試階段,調試是軟件開(kāi)發(fā)過(guò)程中必不可少的一個(gè)環(huán)節,嵌入式軟件開(kāi)發(fā)過(guò)程中的交叉調試與通用軟件開(kāi)發(fā)過(guò)程中的調試方式有所差別。在通用軟件開(kāi)發(fā)中,調試器與被調試的程序往往運行在同一臺計算機上,調試器是一個(gè)單獨運行著(zhù)的進(jìn)程,它通過(guò)操作系統提供的調試接口來(lái)控制被調試的進(jìn)程。而在嵌入式軟件開(kāi)發(fā)中,調試時(shí)采用的是在宿主機和目標機之間進(jìn)行的交叉調試,調試器仍然運行在宿主機的通用操作系統之上,但被調試的進(jìn)程卻是運行在基于特定硬件平臺的嵌入式操作系統中,調試器和被調試進(jìn)程通過(guò)串口或者網(wǎng)絡(luò )進(jìn)行通信,調試器可以控制、訪(fǎng)問(wèn)被調試進(jìn)程,讀取被調試進(jìn)程的當前狀態(tài),并能夠改變被調試進(jìn)程的運行狀態(tài)。

交叉調試(Cross Debug)又常常被稱(chēng)為遠程調試(Remote Debug),是一種允許調試器以某種方式控制目標機上被調試進(jìn)程的運行方式,并具有查看和修改目標機上內存單元、寄存器以及被調試進(jìn)程中變量值等各種調試功能的調試方式。一般而言,遠程調試過(guò)程的結構如圖4所示。



圖4遠程調試結構

嵌入式系統的交叉調試有多種方法,可以被細分成不同的層次,但一般都具有如下一些典型特點(diǎn):

  1. 調試器和被調試進(jìn)程運行在不同的機器上,調試器運行在PC或者工作站上(宿主機),而被調試的進(jìn)程則運行在各種專(zhuān)業(yè)調試板上(目標機)。
  2. 調試器通過(guò)某種通信方式與被調試進(jìn)程建立聯(lián)系,如串口、并口、網(wǎng)絡(luò )、DBM、JTAG或者專(zhuān)用的通信方式。
  3. 在目標機上一般會(huì )具備某種形式的調試代理,它負責與調試器共同配合完成對目標機上運行著(zhù)的進(jìn)程的調試。這種調試代理可能是某些支持調試功能的硬件設備(如DBI 2000),也可能是某些專(zhuān)門(mén)的調試軟件(如gdbserver)。
  4. 目標機可能是某種形式的系統仿真器,通過(guò)在宿主機上運行目標機的仿真軟件,整個(gè)調試過(guò)程可以在一臺計算機上運行。此時(shí)物理上雖然只有一臺計算機,但邏輯上仍然存在著(zhù)宿主機和目標機的區別。

在嵌入式軟件開(kāi)發(fā)過(guò)程中的調試方式有很多種,應根據實(shí)際的開(kāi)發(fā)要求和條件進(jìn)行選擇。就調試方法而言,嵌入式系統的交叉調試可以分為硬件調試和軟件調試兩種,前者使用仿真調試器協(xié)助調試過(guò)程,而后者則使用軟件調試器完成調試過(guò)程。

  • 硬件調試

    相對于軟件調試而言,使用硬件調試器可以獲得更強大的調試功能和更優(yōu)秀的調試性能。硬件調試器的基本原理是通過(guò)仿真硬件的執行過(guò)程,讓開(kāi)發(fā)者在調試時(shí)可以隨時(shí)了解到系統的當前執行情況。目前嵌入式系統開(kāi)發(fā)中最常用到的硬件調試器是ROM Monitor、ROM Emulator、In-Circuit Emulator和In-Circuit Debugger。

    采用ROM Monitor方式進(jìn)行交叉調試需要在宿主機上運行調試器,在目標機上運行ROM監視器(ROM Monitor)和被調試程序,宿主機通過(guò)調試器與目標機上的ROM監視器建立通信連接,它們之間的通信遵循遠程調試協(xié)議。ROM監視器可以是一段運行在目標機ROM上的可執行程序,也可以是一個(gè)專(zhuān)門(mén)的硬件調試設備,它負責監控目標機上被調試程序的運行情況,能夠與宿主機端的調試器一同完成對應用程序的調試。在使用這種調試方式時(shí),被調試程序首先通過(guò)ROM監視器下載到目標機,然后在ROM監視器的監控下完成調試,目前使用的絕大部分ROM監視器能夠完成設置斷點(diǎn)、單步執行、查看寄存器、修改內存空間等各項調試功能。

    采用ROM Emulator方式進(jìn)行交叉調試時(shí)需要使用ROM仿真器,它通常被插入到目標機上的ROM插槽中,專(zhuān)門(mén)用于仿真目標機上的ROM芯片。在使用這種調試方式時(shí),被調試程序首先下載到ROM仿真器中,它等效于下載到目標機的ROM芯片上,然后在ROM仿真器中完成對目標程序的調試。ROM Emulator調試方式通過(guò)使用一個(gè)ROM仿真器,雖然避免了每次修改程序后都必須重新燒寫(xiě)到目標機ROM中這一費時(shí)費力的操作,但由于ROM仿真器本身比較昂貴,功能相對來(lái)講又比較單一,因此只適應于某些特定場(chǎng)合。

    采用In-Circuit Emulator(ICE)方式進(jìn)行交叉調試時(shí)需要使用在線(xiàn)仿真器,它是仿照目標機上的CPU而專(zhuān)門(mén)設計的硬件,可以完全仿真處理器芯片的行為,并且提供了非常豐富的調試功能。在使用在線(xiàn)仿真器進(jìn)行調試的過(guò)程中,可以按順序單步執行,也可以倒退執行,還可以實(shí)時(shí)查看所有需要的數據,從而給調試過(guò)程帶來(lái)了很多的便利。嵌入式系統應用的一個(gè)顯著(zhù)特點(diǎn)是與現實(shí)世界中的硬件直接相關(guān),存在各種異變和事先未知的變化,從而給微處理器的指令執行帶來(lái)各種不確定因素,這種不確定性在目前情況下只有通過(guò)在線(xiàn)仿真器才有可能發(fā)現,因此盡管在線(xiàn)仿真器的價(jià)格非常昂貴,但仍然得到了非常廣泛的應用。

    采用In-Circuit Debugger(ICD)方式進(jìn)行交叉調試時(shí)需要使用在線(xiàn)調試器。由于ICE的價(jià)格非常昂貴,并且每種CPU都需要一種與之對應的ICE,使得開(kāi)發(fā)成本非常高,一個(gè)比較好的解決辦法是讓CPU直接在其內部實(shí)現調試功能,并通過(guò)在開(kāi)發(fā)板上引出的調試端口,發(fā)送調試命令和接收調試信息,完成調試過(guò)程。目前Motorola公司提供的開(kāi)發(fā)板上使用的是DBM調試端口,而ARM公司提供的開(kāi)發(fā)板上使用的則是JTAG調試端口,使用合適的軟件工具與這些調試端口進(jìn)行連接,可以獲得與ICE類(lèi)似的調試效果。

  • 軟件調試

    軟件調試通常要在不同的層次上進(jìn)行,有時(shí)可能需要對嵌入式操作系統的內核進(jìn)行調試,而有時(shí)可能僅僅只需要調試嵌入式應用程序就可以了。在嵌入式系統的整個(gè)開(kāi)發(fā)過(guò)程中,不同層次上的軟件調試需要使用不同的調試方法。

    嵌入式操作系統的內核調試相對來(lái)講比較困難,這是因為在內核中不便于增加一個(gè)調試器程序,而只能通過(guò)遠程調試的方法,通過(guò)串口和操作系統內置的"調試樁"(debug stub)進(jìn)行通信,共同完成調試過(guò)程。調試樁可以看成是一個(gè)調試服務(wù)器,它通過(guò)操作系統獲得一些必要的調試信息,并且負責處理宿主機發(fā)送來(lái)的調試命令。具體到嵌入式Linux系統內核,調試時(shí)可以先在Linux內核中設置一個(gè)調試樁,用作調試過(guò)程中和宿主機之間的通信服務(wù)器,然后就可以在宿主機中通過(guò)調試器的串口與調試樁進(jìn)行通信,并通過(guò)調試器控制目標機上Linux內核的運行。

    嵌入式應用軟件的調試可以使用本地調試和遠程調試兩種方法,相對于操作系統的調試而言,這兩種方式都比較簡(jiǎn)單。如果采用的是本地調試,首先要將所需的調試器移植到目標系統中,然后就可以直接在目標機上運行調試器來(lái)調試應用程序了;如果采用的是遠程調試,則需要移植一個(gè)調試服務(wù)器到目標系統中,并通過(guò)它與宿主機上的調試器共同完成應用程序的調試。在嵌入式Linux系統的開(kāi)發(fā)中,遠程調試時(shí)目標機上使用的調試服務(wù)器通常是gdbserver,而宿主機上使用的調試器則是gdb,兩者相互配合共同完成調試過(guò)程。

3.4 系統測試

嵌入式系統的硬件一般采用專(zhuān)門(mén)的測試儀器進(jìn)行測試,而軟件則需要有相關(guān)的測試技術(shù)和測試工具的支持,并要采用特定的測試策略。測試技術(shù)指的是軟件測試的專(zhuān)門(mén)途徑,以及能夠更加有效地運用這些途徑的特定方法。在嵌入式軟件測試中,常常要在基于目標機的測試和基于宿主機的測試之間做出折衷,基于目標機的測試需要消耗較多的時(shí)間和經(jīng)費,而基于宿主機的測試雖然代價(jià)較小,但畢竟是在仿真環(huán)境中進(jìn)行的,因此難以完全反映軟件運行時(shí)的實(shí)際情況。這兩種環(huán)境下的測試可以發(fā)現不同的軟件缺陷,關(guān)鍵是要對目標機環(huán)境和宿主機環(huán)境下的測試內容進(jìn)行合理取舍。

測試工具指的是那些能夠用來(lái)輔助測試的工具,測試工具主要用來(lái)支持測試人員的測試工作,本身不能直接用來(lái)進(jìn)行測試,測試工具一般都是通用工具,測試人員應該根據實(shí)際情況對它們進(jìn)行適當的調整。嵌入式軟件測試中經(jīng)常用到測試工具主要有內存分析工具、性能分析工具、覆蓋分析工具、缺陷跟蹤工具等。

  • 內存分析工具

    嵌入式系統的內存資源通常是受限的,內存分析工具可以用來(lái)處理在進(jìn)行動(dòng)態(tài)內存分配時(shí)產(chǎn)生的缺陷。當動(dòng)態(tài)分配的內存被錯誤地引用時(shí),產(chǎn)生的錯誤通常難以再現,可出現的失效難以追蹤,使用內存分析工具可以很好地檢測出這類(lèi)缺陷。目前常用的內存分析工具有軟件和硬件兩種,基于軟件的內存分析工具可能會(huì )對代碼的執行性能帶來(lái)很大影響,從而影響系統的實(shí)時(shí)性;基于硬件的內存分析工具價(jià)格昂貴,并且只能在特定的環(huán)境中使用。

  • 性能分析工具

    嵌入式系統的性能通常是一個(gè)非常關(guān)鍵的因素,開(kāi)發(fā)人員一般需要對系統的某些關(guān)鍵代碼進(jìn)行優(yōu)化來(lái)改進(jìn)性能,而首先遇到的問(wèn)題自然就是確定需要對哪些代碼進(jìn)行優(yōu)化。性能分析工具可以為開(kāi)發(fā)人員提供有關(guān)的數據,說(shuō)明執行時(shí)間是如何消耗的,是什么時(shí)候消耗的,以及每個(gè)進(jìn)程所使用的時(shí)間。這些數據可以幫助確定哪些進(jìn)程消耗了過(guò)多的執行時(shí)間,從而可以決定如何優(yōu)化軟件,以獲得更好的時(shí)間性能。此外,性能分析工具還可以引導開(kāi)發(fā)人員發(fā)現在系統調用中存在的錯誤以及程序結構上的缺陷。

  • 覆蓋分析工具

    在進(jìn)行白盒測試時(shí),可以使用代碼覆蓋分析工具追蹤哪些代碼被執行過(guò),分析過(guò)程一般通過(guò)插樁來(lái)完成,插樁可以是在測試環(huán)境中嵌入硬件,也可以是在可執行代碼中加入軟件,或者是兩者的結合。開(kāi)發(fā)人員通過(guò)對分析結果進(jìn)行總結,可以確定哪些代碼被執行過(guò),哪些代碼被遺漏了。目前常用的覆蓋分析工具一般都會(huì )提供有關(guān)功能覆蓋、分支覆蓋、條件覆蓋等信息。





回頁(yè)首


四、小結

現今的嵌入式系統在網(wǎng)絡(luò )化潮流的推動(dòng)下,已經(jīng)逐漸擺脫過(guò)去那種小巧而簡(jiǎn)單的模式,開(kāi)始進(jìn)入復雜度高、功能強大的階段,吸引了許多程序設計人員和硬件開(kāi)發(fā)人員的視線(xiàn)。本文討論了嵌入式Linux系統的基本知識、開(kāi)發(fā)流程、開(kāi)發(fā)工具、調試工具、測試工具等,并指出了嵌入式系統的開(kāi)發(fā)與一般通用計算機軟件開(kāi)發(fā)的不同點(diǎn)及應該注意的事項,這些都是今后在進(jìn)行嵌入式Linux系統開(kāi)發(fā)時(shí)必須具備的基礎知識。



參考資料

  • http://www.embeddedtechnology.com是嵌入式系統技術(shù)的核心網(wǎng)站,包括許多最新的嵌入式領(lǐng)域的技術(shù)動(dòng)態(tài),以及大量的嵌入式產(chǎn)品、開(kāi)發(fā)工具、產(chǎn)品提供商的介紹。

  • http://www.ddjembedded.com是嵌入式系統雜志《Dr. Dobb‘s Embedded Systems》的官方網(wǎng)站,包含大量與嵌入式系統相關(guān)的文章。

  • Karim Yaghmour,Building Embedded Linux Systems,USA:O‘Reilly,2003

  • 魏忠,蔡勇,雷紅衛編著(zhù),嵌入式開(kāi)發(fā)詳解,北京:電子工業(yè)出版社,2003

  • 李善平,劉文峰,王煥龍等編著(zhù),Linux與嵌入式系統,北京:清華大學(xué)出版社,2003

  • 探矽工作室著(zhù),嵌入式系統開(kāi)發(fā)圣經(jīng),北京:中國鐵道出版社,2003


關(guān)于作者

 

本文作者肖文鵬是北京理工大學(xué)計算機系的碩士研究生,主要從事操作系統和分布式計算環(huán)境的研究,喜愛(ài)Linux和Python。你可以通過(guò) xiaowp@263.net)與他取得聯(lián)系。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
嵌入式操作系統簡(jiǎn)介以及發(fā)展史
uc-OS和linux
IPTV機頂盒嵌入式系統研究 - 中華論文網(wǎng)
什么是嵌入式Linux?
嵌入式Linux的應用基礎知識介紹
uC/OS和uClinux的比較--(||uC/OS|
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久