1. 嵌入式系統自學
嵌入式系統軟體工程 方法實用技術及應用,免費下載
鏈接:https://pan..com/s/10No3IypKyLg01bV4T9b22w
pdf" data_size="50.30M" data_filelogo="https://gss0.bdstatic.com//yun-file-logo/file-logo-6.png" data_number="1" data_sharelink="https://pan..com/s/10No3IypKyLg01bV4T9b22w" data_code="56st">
提取碼:56st
《嵌入式系統軟體工程:基礎知識、方法和應用》系統地闡述嵌入式系統軟體工程所涉及的過程、方法、內容,以及在典型工業領域中的應用。全書內容分為兩大部分:第一部分介紹嵌入式系統軟體工程方法論,主要包括嵌入式軟體的開發過程(需求工程、軟體和系統體系結構、編程和測試等內容),開發和測試中所採用的標准,與安全性相關的軟體系統的准入,以及嵌入式軟體所涉及的法律問題:第二部分介紹嵌入式系統軟體在汽車領域、軌道交通領域、航天領域、醫療器械、工業自動化、通信系統中的應用,在每個應用領域重點介紹具體應用領域的一些特定需求、技術和限制條件,以及它們對於嵌入式系統軟體開發過程的影響。

2. 嵌入式操作系統是什麼
引用的資料: 嵌入式操作系統EOS(Embedded OperatingSystem)是一種用途廣泛的系統軟體,過去它主要應用於工業控制和國防系統領域。EOS負責嵌入系統的全部軟、硬體資源的分配、調度工作,控制協調並發活動;它必須體現其所在系統的特徵,能夠通過裝卸某些模塊來達到系統所要求的功能。目前,已推出一些應用比較成功的EOS產品系列。隨著Internet技術的發展、信息家電的普及應用及EOS的微型化和專業化,EOS開始從單一的弱功能向高專業化的強功能方向發展。嵌人式操作系統在系統實時高效性、硬體的相關依賴性、軟體固態化以及應用的專用性等方面具有較為突出的特點。EOS是相對於一般操作系統而言的,它除具備了一般操作系統最基本的功能,如任務調度、同步機制、中斷處理、文件功能等外,還有以下特點:
(1)可裝卸性。開放性、可伸縮性的體系結構。
(2)強實時性。EOS實時性一般較強,可用於各種設備控制當中。
(3)統一的介面。提供各種設備驅動接入.
(4)操作方便、簡單、提供友好的圖形GUI,圖形界面,追求易學易用.
(5)提供強大的網路功能,支持TCP/IP協議及其它協議,提供TCP/UDP/IP/PPP協議支持及統一的MAC訪問層介面,為各種移動計算設備預留介面.
(6)強穩定性,弱交互性。嵌入式系統一旦開始運行就不需要用戶過多的干預,這就要負責系統管理的EOS具有較強的穩定性。嵌入式操作系統的用戶介面一般不提供操作命令,它通過系統調用命令向用戶程序提供服務。
(7)固化代碼。在嵌入系統中,嵌入式操作系統和應用軟體被固化在嵌入式系統計算機的ROM中。輔助存儲器在嵌入式系統中很少使用,因此,嵌入式操作系統的文件管理功能應該能夠很容易地拆卸,而用各種內存文件系統.
(8)更好的硬體適應性,也就是良好的移植性.
國際上用於信息電器的嵌入式操作系統有40種左右。現在,市場上非常流行的EOS產品,包括3Corn公司下屬子公司的Palm OS,全球佔有份額達50%,Microsoft公司的Windows CE不過29%。在美國市場,Palm OS更以80%的佔有率遠超Windows CE。開放源代碼的linux很適於做信息家電的開發.
比如:中科紅旗軟體技術有限公司開發的紅旗嵌入式Linux和美商網虎公司開發的基於Xlinux的嵌人式操作系統「誇克"。「誇克」是目前全世界最小的Linux,它有兩個很突出的特點,就是體積小和使用GCS編碼。
常見的嵌入式系統有:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive .
嵌入式操作系統的種類
一般情況下,嵌入式操作系統可以分為兩類,一類是面向控制、通信等領域的實時操作系統,如WindRiver公司的VxWorks、ISI的pSOS、QNX系統軟體公司的QNX、ATI的Nucleus等;另一類是面向消費電子產品的非實時操作系統,這類產品包括個人數字助理(PDA)、行動電話、機頂盒、電子書、WebPhone等。
a. 非實時操作系統
早期的嵌入式系統中沒有操作系統的概念,程序員編寫嵌入式程序通常直接面對裸機及裸設備。在這種情況下,通常把嵌入式程序分成兩部分,即前台程序和後台程序。前台程序通過中段來處理事件,其結構一般為無限循環;後台程序則掌管整個嵌入式系統軟、硬體資源的分配、管理以及任務的調度,是一個系統管理調度程序。這就是通常所說的前後台系統。一般情況下,後台程序也叫任務級程序,前台程序也叫事件處理級程序。在程序運行時,後台程序檢查每個任務是否具備運行條件,通過一定的調度演算法來完成相應的操作。對於實時性要求特別嚴格的操作通常由中斷來完成,僅在中斷服務程序中標記事件的發生,不再做任何工作就退出中斷,經過後台程序的調度,轉由前台程序完成事件的處理,這樣就不會造成在中斷服務程序中處理費時的事件而影響後續和其他中斷。
實際上,前後台系統的實時性比預計的要差。這是因為前後台系統認為所有的任務具有相同的優先順序別,即是平等的,而且任務的執行又是通過FIFO隊列排隊,因而對那些實時性要求高的任務不可能立刻得到處理。另外,由於前台程序是一個無限循環的結構,一旦在這個循環體中正在處理的任務崩潰,使得整個任務隊列中的其他任務得不到機會被處理,從而造成整個系統的崩潰。由於這類系統結構簡單,幾乎不需要RAM/ROM的額外開銷,因而在簡單的嵌入式應用被廣泛使用。
b. 實時操作系統
實時系統是指能在確定的時間內執行其功能並對外部的非同步事件做出響應的計算機系統。其操作的正確性不僅依賴於邏輯設計的正確程度,而且與這些操作進行的時間有關。「在確定的時間內」是該定義的核心。也就是說,實時系統是對響應時間有嚴格要求的。
實時系統對邏輯和時序的要求非常嚴格,如果邏輯和時序出現偏差將會引起嚴重後果。實時系統有兩種類型:軟實時系統和硬實時系統。軟實時系統僅要求事件響應是實時的,並不要求限定某一任務必須在多長時間內完成;而在硬實時系統中,不僅要求任務響應要實時,而且要求在規定的時間內完成事件的處理。通常,大多數實時系統是兩者的結合。實時應用軟體的設計一般比非實時應用軟體的設計困難。實時系統的技術關鍵是如何保證系統的實時性。
實時多任務操作系統是指具有實時性、能支持實時控制系統工作的操作系統。其首要任務是調度一切可利用的資源完成實時控制任務,其次才著眼於提高計算機系統的使用效率,重要特點是要滿足對時間的限制和要求。實時操作系統具有如下功能:任務管理(多任務和基於優先順序的任務調度)、任務間同步和通信(信號量和郵箱等)、存儲器優化管理(含ROM的管理)、實時時鍾服務、中斷管理服務。實時操作系統具有如下特點:規模小,中斷被屏蔽的時間很短,中斷處理時間短,任務切換很快。
實時操作系統可分為可搶占型和不可搶占型兩類。對於基於優先順序的系統而言,可搶占型實時操作系統是指內核可以搶占正在運行任務的CPU使用權並將使用權交給進入就緒態的優先順序更高的任務,是內核搶了CPU讓別的任務運行。不可搶占型實時操作系統使用某種演算法並決定讓某個任務運行後,就把CPU的控制權完全交給了該任務,直到它主動將CPU控制權還回來。中斷由中斷服務程序來處理,可以激活一個休眠態的任務,使之進入就緒態;而這個進入就緒態的任務還不能運行,一直要等到當前運行的任務主動交出CPU的控制權。使用這種實時操作系統的實時性比不使用實時操作系統的系統性能好,其實時性取決於最長任務的執行時間。不可搶占型實時操作系統的缺點也恰恰是這一點,如果最長任務的執行時間不能確定,系統的實時性就不能確定。
可搶占型實時操作系統的實時性好,優先順序高的任務只要具備了運行的條件,或者說進入了就緒態,就可以立即運行。也就是說,除了優先順序最高的任務,其他任務在運行過程中都可能隨時被比它優先順序高的任務中斷,讓後者運行。通過這種方式的任務調度保證了系統的實時性,但是,如果任務之間搶佔CPU控制權處理不好,會產生系統崩潰、死機等嚴重後果。
嵌入式操作系統的發展
嵌入式操作系統伴隨著嵌入式系統的發展經歷了4個比較明顯的階段。
第一階段是無操作系統的嵌入演算法階段,是以單晶元為核心的可編程式控制制器形式的系統,同時具有與監測、伺服、指示設備相配合的功能。這種系統大部分應用於一些專業性極強的工業控制系統中,一般沒有操作系統的支持,通過匯編語言編程對系統進行直接控制,運行結束後清除內存。這一階段系統的主要特點是:系統結構和功能都相對單一,處理效率較低,存儲容量較小,幾乎沒有用戶介面。由於這種嵌入式系統使用簡便、價格很低,以前在國內工業領域應用較為普遍,但是已經遠遠不能適應高效的、需要大容量存儲介質的現代化工業控制和新興的信息家電等領域的需求。
第二階段是以嵌入式CPU為基礎、以簡單操作系統為核心的嵌入式系統。這一階段系統的主要特點是:CPU種類繁多,通用性比較差;系統開銷小, 效率高;一般配備系統模擬器,操作系統具有一定的兼容性和擴展性;應用軟體較專業,用戶界面不夠友好;系統主要用來控制系統負載以及監控應用程序運行。
第三階段是通用的嵌入式實時操作系統階段,是以嵌入式操作系統為核心的嵌入式系統。這一階段系統的主要特點是:嵌入式操作系統能運行於各種不同類型的微處理器上,兼容性好;操作系統內核精小、效率高,並且具有高度的模塊化和擴展性;具備文件和目錄管理、設備支持、多任務、網路支持、圖形窗口以及用戶界面等功能;具有大量的應用程序介面(API),開發應用程序簡單;嵌入式應用軟體豐富。
第四階段是以基於Internet為標志的嵌入式系統,這是一個正在迅速發展的階段。目前大多數嵌入式系統還孤立於Internet之外,但隨著Internet的發展以及Internet技術與信息家電、工業控制技術等結合日益密切,嵌入式設備與Internet的結合將代表著嵌入式技術的真正未來。
使用實時操作系統的必要性
嵌入式實時操作系統在目前的嵌入式應用中用得越來越廣泛,尤其在功能復雜、系統龐大的應用中顯得愈來愈重要。
首先,嵌入式實時操作系統提高了系統的可靠性。在控制系統中,出於安全方面的考慮,要求系統起碼不能崩潰,而且還要有自愈能力。不僅要求在硬體設計方面提高系統的可靠性和抗干擾性,而且也應在軟體設計方面提高系統的抗干擾性,盡可能地減少安全漏洞和不可靠的隱患。長期以來的前後台系統軟體設計在遇到強干擾時,使得運行的程序產生異常、出錯、跑飛,甚至死循環,造成了系統的崩潰。而實時操作系統管理的系統,這種干擾可能只是引起若干進程中的一個被破壞,可以通過系統運行的系統監控進程對其進行修復。通常情況下,這個系統監視進程用來監視各進程運行狀況,遇到異常情況時採取一些利於系統穩定可靠的措施,如把有問題的任務清除掉。
其次,提高了開發效率,縮短了開發周期。在嵌入式實時操作系統環境下,開發一個復雜的應用程序,通常可以按照軟體工程中的解耦原則將整個程序分解為多個任務模塊。每個任務模塊的調試、修改幾乎不影響其他模塊。商業軟體一般都提供了良好的多任務調試環境。
再次,嵌入式實時操作系統充分發揮了32位CPU的多任務潛力。32位CPU比8、16位CPU快,另外它本來是為運行多用戶、多任務操作系統而設計的,特別適於運行多任務實時系統。32位CPU採用利於提高系統可靠性和穩定性的設計,使其更容易做到不崩潰。例如, CPU運行狀態分為系統態和用戶態。將系統堆棧和用戶堆棧分開,以及實時地給出CPU的運行狀態等,允許用戶在系統設計中從硬體和軟體兩方面對
實時內核的運行實施保護。如果還是採用以前的前後台方式,則無法發揮32位CPU的優勢。
從某種意義上說,沒有操作系統的計算機(裸機)是沒有用的。在嵌入式應用中,只有把CPU嵌入到系統中,同時又把操作系統嵌入進去,才是真正的計算機嵌入式應用。
實時操作系統的優缺點
在嵌入式實時操作系統環境下開發實時應用程序使程序的設計和擴展變得容易,不需要大的改動就可以增加新的功能。通過將應用程序分割成若干獨立的任務模塊,使應用程序的設計過程大為簡化;而且對實時性要求苛刻的事件都得到了快速、可靠的處理。通過有效的系統服務,嵌入式實時操作系統使得系統資源得到更好的利用。
但是,使用嵌入式實時操作系統還需要額外的ROM/RAM開銷,2~5%的CPU額外負荷,以及內核的費用。
3. 為什麼android系統屬於嵌入式操作系統
嵌入式實時操作系統是指當外界事件或數據產生時,能夠接受並以足夠快的速度予以處理,處理的結果又能在規定的時間之內來控制生產過程或對處理系統作出快速響應,並控制所有實時任務協調一致運行的嵌入式操作系統。主要用於工業控制、 軍事設備、 航空航天等領域對系統的響應時間有苛刻的要求,這就需要使用實時系統。又可分為軟實時和硬實時兩種,而android是基於linux內核的,因此屬於軟實時。
4. 嵌入式實時系統有哪些
嵌入式實時系統有:
(1) DeltaOS
DeltaOS是電子科技大學嵌入式實時教研室和科銀公司 (專門從事嵌入式開發) 聯合研製開發的全中文的嵌入式操作系統,提供強實時和嵌入式多任務的內核,任務響應時間快速、確定,不隨任務負載大小改變,絕大部分的代碼由C語言編寫,具有很好的移植性。
(2) Hopen OS
Hopen OS是凱思集團自主研製開發的實時操作系統,由一個體積很小的內核及一些可以根據需要進行定製的系統模塊組成。其核心Hopen Kernel的規模一般為10KB左右,佔用空間小,並具有實時、多任務、多線程的系統特徵。
(3) EEOS
EEOS是中科院計算所組織開發的開放源碼的實時操作系統。該實時操作系統重點支持p-Java,要求一方面小型化,一方面能重用Linux的驅動和其他模塊。
(4) HBOS
HBOS系統是浙江大學自主研製開發的全中文實時操作系統。它具有實時、多任務等特徵,能提供瀏覽器、網路通信和圖形窗口等服務;可供進行一定的定製或二次開發;能為應用軟體開發提供API介面支持;可用於信息家電、智能設備和儀器儀表等領域開發應用。

(4)嵌入式實時操作系統cospdf擴展閱讀:
常見的嵌入式操作系統:
一、VxWorks
VxWorks操作系統是美國WindRiver公司於1983年設計開發的一種嵌入式實時操作系統(RTOS),是Tornado嵌入式開發環境的關鍵組成部分。良好的持續發展能力、高性能的內核以及友好的用戶開發環境,在嵌人式實時操作系統領域逐漸占據一席之地。
二、Windows CE
Windows CE與Windows系列有較好的兼容性,無疑是Windows CE推廣的一大優勢。其中WinCE3.0是一種針對小容量、移動式、智能化、32位、了解設備的模塊化實時嵌人式操作系統。
三、嵌入式Linux
這是嵌入式操作系統的一個新成員,其最大的特點是源代碼公開並且遵循GPL協議,在近一年多以來成為研究熱點,據IDG預測嵌入式Linux將占未來兩年的嵌入式操作系統份額的50%。
四、μC/OS一Ⅱ
μC/OS一Ⅱ是著名的源代碼公開的實時內核,是專為嵌入式應用設計的,可用於8位,16位和32位單片機或數字信號處理器(DSP)。
5. 簡單的介紹一下嵌入式操作系統
嵌入式操作系統(Embedded
Operating
System,簡稱:EOS)是指用於嵌入式系統的操作系統。嵌入式操作系統是一種用途廣泛的系統軟體,通常包括與硬體相關的底層驅動軟體、系統內核、設備驅動介面、通信協議、圖形界面、標准化瀏覽器等。嵌入式操作系統負責嵌入式系統的全部軟、硬體資源的分配、任務調度,控制、協調並發活動。它必須體現其所在系統的特徵,能夠通過裝卸某些模塊來達到系統所要求的功能。目前在嵌入式領域廣泛使用的操作系統有:嵌入式實時操作系統µC/OS-II、嵌入式Linux、Windows
Embedded、VxWorks等,以及應用在智能手機和平板電腦的Android、iOS等。
6. 嵌入式實時操作系統μC/OS-2的作者簡介
Jean J.Labrosse,1957年生於加拿大蒙特利爾。自幼酷愛電子學,著迷於迪斯科舞廳中的燈光和音響系統。作為業余嗜好,大學讀書期間曾開過一家名為:Mephistronique的公司。大學3年級時,開始涉足微處理器的精彩世界。從Intel8080開始,然後是.MOTOROIA6800,接著是Zilog的Z-80,並將它們應用於其業余產品的設計。1983年獲電子工程碩士學位後,在一家醫用電子企業工作過兩年,設計過一些基於微處理器的系統,用匯編語言編程。後到一家製造往復式發動機的公司工作,學會並開始在產品設計中使用C語言編程。4年後轉到Dylqalco Control公司工作,開始使用RTOS,並發現KIOS中的一處嚴重隱患,從而萌生了用業余時間自己寫RTOC熔的想法。在1992年5月和6月期Embedded SystemProgramming 雜志上發表了最初的RTOS,名為μCOS。到1992年底,寫成了介紹μC/OS的書,1999年出版了介紹μC/OS-Ⅱ的書,該書第2版於2002年出版。2000年還出版了.Embedded System Buliding Block一書。
Jean J.L,abrosse先生長期從事嵌入式系統的開發研究。從1993年開始,每年都會在美國的嵌入式系統年會上做數次演講報告,並成為大會的顧問委員會成員。1999年,建立了Micrium公司,提供高質量的嵌入式軟體和解決方案,出售BC/OS-Ⅱ及其他軟體的商用許可證。
工作並非一切,更美好的足與妻子、兒女·同享受生活。
邵貝貝,清華大學教授,博士生導師。曾工作於中國科學院高能物理所。1982一1984年、1999-2000年在歐洲核研究中心(CERN)工作,1987一1988年在義大利都靈大學工作,1992一1994年在美國SSC工作。
邵貝貝教授致力於核電子學與儀器、數據採集與控制系統及計算機嵌入式應用系統的研究。所研究的微弱信號檢測技術曾獲科技進步一等獎。近期主要著作和譯著有(《MOTOROLA單片機68HCll開發技術》、《微控制器應用與開發技術》、《MicroC/OS-Ⅱ——源碼公開的實時嵌入式操作系統》及《MOrORO[A DSP型16位單片機原理與實踐》等。現任清華大學MOTOROLA MCU/DSP應用開發研究中心主任和中國單片機學會理事。
