01-嵌入式系統(tǒng)開發(fā)流程課件_第1頁
01-嵌入式系統(tǒng)開發(fā)流程課件_第2頁
01-嵌入式系統(tǒng)開發(fā)流程課件_第3頁
01-嵌入式系統(tǒng)開發(fā)流程課件_第4頁
01-嵌入式系統(tǒng)開發(fā)流程課件_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第一頁,編輯于星期一:七點 四十九分。第二頁,編輯于星期一:七點 四十九分。第三頁,編輯于星期一:七點 四十九分。第四頁,編輯于星期一:七點 四十九分。第五頁,編輯于星期一:七點 四十九分。第六頁,編輯于星期一:七點 四十九分。第七頁,編輯于星期一:七點 四十九分。第八頁,編輯于星期一:七點 四十九分。第九頁,編輯于星期一:七點 四十九分。 計算機系統(tǒng)由硬件和軟件組成,在發(fā)展初期沒有操作系統(tǒng)這個概念,用戶使用監(jiān)控程序來使用計算機。隨著計算機技術(shù)的發(fā)展,計算機系統(tǒng)的硬件、軟件資源也愈來愈豐富,監(jiān)控程序已不能適應計算機應用的要求。于是在六十年代中期監(jiān)控程序又進一步發(fā)展形成了操作系統(tǒng)(Operati

2、ng System)。發(fā)展到現(xiàn)在,廣泛使用的有三種操作系統(tǒng)即多道批處理操作系統(tǒng)、分時操作系統(tǒng)以及實時操作系統(tǒng)。 第十頁,編輯于星期一:七點 四十九分。監(jiān)控程序操作系統(tǒng)實時操作系統(tǒng)分時操作系統(tǒng)多道批處理操作系統(tǒng)適用于多個用戶共享系統(tǒng)資源適用于計算中心等較大的計算機系統(tǒng)適用于嵌入式設備和有實時性要求的系統(tǒng)中第十一頁,編輯于星期一:七點 四十九分。監(jiān)控程序操作系統(tǒng)實時操作系統(tǒng)分時操作系統(tǒng)多道批處理操作系統(tǒng)適用于多個用戶共享系統(tǒng)資源適用于計算中心等較大的計算機系統(tǒng)適用于嵌入式設備和有實時性要求的系統(tǒng)中實時操作系統(tǒng)是我們介紹的重點第十二頁,編輯于星期一:七點 四十九分。 IEEE 的實時UNIX分委會認

3、為實時操作系統(tǒng)應具備以下的幾點: 異步的事件響應 切換時間和中斷延遲時間確定 優(yōu)先級中斷和調(diào)度 搶占式調(diào)度 內(nèi)存鎖定 連續(xù)文件 同步 第十三頁,編輯于星期一:七點 四十九分。 總的來說實時操作系統(tǒng)是事件驅(qū)動的,能對來自外界的作用和信號在限定的時間范圍內(nèi)作出響應。它強調(diào)的是實時性、可靠性和靈活性, 與實時應用軟件相結(jié)合成為有機的整體起著核心作用, 由它來管理和協(xié)調(diào)各項工作,為應用軟件提供良好的運行軟件環(huán)境及開發(fā)環(huán)境。 從實時系統(tǒng)的應用特點來看實時操作系統(tǒng)可以分為兩種:和。第十四頁,編輯于星期一:七點 四十九分。應用于實時處理系統(tǒng)的上位機和實時查詢系統(tǒng)等實時性較弱的實時系統(tǒng),并且提供了開發(fā)、調(diào)試、

4、運用一致的環(huán)境。 應用于實時性要求高的實時控制系統(tǒng),而且應用程序的開發(fā)過程是通過交叉開發(fā)來完成的,即開發(fā)環(huán)境與運行環(huán)境是不一致。嵌入式實時操作系統(tǒng)具有規(guī)模小(一般在幾K幾十K 內(nèi))、可固化使用實時性強(在毫秒或微秒數(shù)量級上)的特點 。第十五頁,編輯于星期一:七點 四十九分。對基于芯片的開發(fā)來說,應用程序一般是一個無限的循環(huán),可稱為前后臺系統(tǒng)或超循環(huán)系統(tǒng)。 很多基于微處理器的產(chǎn)品采用前后臺系統(tǒng)設計,例如微波爐、電話機、玩具等。在另外一些基于微處理器應用中,從省電的角度出發(fā),平時微處理器處在停機狀態(tài),所有事都靠中斷服務來完成。前后臺系統(tǒng)第十六頁,編輯于星期一:七點 四十九分。 中斷服務程序處理異步

5、事件,這部分可以看成前臺行為,前臺也叫中斷級。時間相關(guān)性很強的關(guān)鍵操作一定是靠中斷服務程序來保證的。 循環(huán)中調(diào)用相應的函數(shù)完成相應的操作,這部分可以看成后臺行為,后臺也可以叫做任務級。這種系統(tǒng)在處理的及時性上比實際可以做到的要差。 ISRISRISRISR后臺前臺中斷服務程序前后臺系統(tǒng)第十七頁,編輯于星期一:七點 四十九分。操作系統(tǒng)是計算機中最基本的程序。操作系統(tǒng)負責計算機系統(tǒng)中全部軟硬資源的分配與回收、控制與協(xié)調(diào)等并發(fā)的活動;操作系統(tǒng)提供用戶接口,使用戶獲得良好的工作環(huán)境;操作系統(tǒng)為用戶擴展新的系統(tǒng)功能提供軟件平臺。 操作系統(tǒng)硬件硬件驅(qū)動操作系統(tǒng)用戶程序第十八頁,編輯于星期一:七點 四十九分

6、。第十九頁,編輯于星期一:七點 四十九分。第二十頁,編輯于星期一:七點 四十九分。第二十一頁,編輯于星期一:七點 四十九分。實時操作系統(tǒng)是一段在嵌入式系統(tǒng)啟動后首先執(zhí)行的背景程序,用戶的應用程序是運行于RTOS之上的各個任務,RTOS根據(jù)各個任務的要求,進行資源(包括存儲器、外設等)管理、消息管理、任務調(diào)度、異常處理等工作。在RTOS支持的系統(tǒng)中, 每個任務均有一個優(yōu)先級,RTOS根據(jù)各個任務的優(yōu)先級,動態(tài)地切換各個任務,保證對實時性的要求。 實時操作系統(tǒng)(RTOS)第二十二頁,編輯于星期一:七點 四十九分。一個任務,也稱作一個線程,是一個簡單的程序,該程序可以認為CPU完全屬于該程序自己。實

7、時應用程序的設計過程,包括如何把問題分割成多個任務,每個任務都是整個應用的某一部分,每個任務被賦予一定的優(yōu)先級,有它自己的一套CPU寄存器和自己的棧空間。任務第二十三頁,編輯于星期一:七點 四十九分。當多任務內(nèi)核決定運行另外的任務時,它保存正在運行任務的當前狀態(tài),即CPU寄存器中的全部內(nèi)容。這些內(nèi)容保存在任務的當前狀態(tài)保存區(qū),也就是任務自已的棧區(qū)之中。入棧工作完成以后,就把下一個將要運行的任務的當前狀態(tài)從任務的棧中重新裝入CPU的寄予存器,并開始下一個任務的運行。這個過程就稱為任務切換。這個過程增加了應用程序的額外負荷。CPU的內(nèi)部寄存器越多,額外負荷就越重。做任務切換所需要的時間取決于CPU

8、有多少寄存器要入棧。任務切換第二十四頁,編輯于星期一:七點 四十九分。調(diào)度是內(nèi)核的主要職責之一。調(diào)度就是決定該輪到哪個任務運行了。多數(shù)實時內(nèi)核是基于優(yōu)先級調(diào)度法的。每個任務根據(jù)其重要程序的不同被賦予一定的優(yōu)先級?;趦?yōu)先級的調(diào)度法指CPU總是讓處在就緒態(tài)的優(yōu)先級最高的任務先運行。然而究竟何時讓高優(yōu)先級任務掌握CPU的使用權(quán),有兩種不同的情況,這要看用的是什么類型的內(nèi)核,是非占先式的還是占先式的內(nèi)核。 調(diào)度第二十五頁,編輯于星期一:七點 四十九分。任務的優(yōu)先級是表示任務被調(diào)度的優(yōu)先程度。每個任務都具有優(yōu)先級。任務越重要,賦予的優(yōu)先級應越高,越容易被調(diào)度而進入運行態(tài)。 任務優(yōu)先級第二十六頁,編輯于

9、星期一:七點 四十九分。代碼的臨界區(qū)也稱為臨界區(qū),指處理時不可分割的代碼,運行這些代碼不允許被打斷。一旦這部分代碼開始執(zhí)行,則不允許任何中斷打入(這不是絕對的,如果中斷不調(diào)用任何包含臨界區(qū)的代碼,也不訪問任何臨界區(qū)使用的共享資源,這個中斷可能可以執(zhí)行)。為確保臨界區(qū)代碼的執(zhí)行,在進入臨界區(qū)之前要關(guān)中斷,而臨界區(qū)代碼執(zhí)行完成以后要立即開中斷。 代碼的臨界區(qū)第二十七頁,編輯于星期一:七點 四十九分。程序運行時可使用的軟、硬件環(huán)境統(tǒng)稱為資源。資源可以是輸入輸出設備,例如打印機、鍵盤、顯示器。資源也可以是一個變量、一個結(jié)構(gòu)或一個數(shù)組等。資源第二十八頁,編輯于星期一:七點 四十九分。任務A共享資源任務B

10、任務C信號量可以被一個以上任務使用的資源叫做共享資源。為了防止數(shù)據(jù)被破壞,每個任務在與共享資源打交道時,必須獨占該資源,這叫做互斥。共享資源訪問共享資源之前申請信號量其它任務訪問受阻而不能使用共享資源得到允許后,才能使用共享資源第二十九頁,編輯于星期一:七點 四十九分。多任務系統(tǒng)中,內(nèi)核負責管理各個任務,或者說為每個任務分配CPU時間,并且負責任務之間的通信。內(nèi)核提供的基本服務是任務切換。使用實時內(nèi)核可以大大簡化應用系統(tǒng)的設計,是因為實時內(nèi)核允許將應用分成若干個任務,由實時內(nèi)核來管理它們。內(nèi)核需要消耗一定的系統(tǒng)資源,比如25的CPU運行時間、RAM和ROM等。 內(nèi)核提供必不可少的系統(tǒng)服務,如信

11、號量、消息隊列、延時等。內(nèi)核第三十頁,編輯于星期一:七點 四十九分。非占先式內(nèi)核要求每個任務自我放棄CPU 的所有權(quán)。非占先式調(diào)度法也稱作合作型多任務,各個任務彼此合作共享一個CPU。異步事件還是由中斷服務來處理。中斷服務可以使一個高優(yōu)先級的任務由掛起狀態(tài)變?yōu)榫途w狀態(tài)。但中斷服務以后控制權(quán)還是回到原來被中斷了的那個任務,直到該任務主動放棄CPU的使用權(quán)時,那個高優(yōu)先級的任務才能獲得CPU的使用權(quán)。非占先式內(nèi)核第三十一頁,編輯于星期一:七點 四十九分。當系統(tǒng)響應時間很重要時,要使用占先式內(nèi)核。因此絕大多數(shù)商業(yè)上銷售的實時內(nèi)核都是占先式內(nèi)核。最高優(yōu)先級的任務一旦就緒,總能得到CPU的控制權(quán)。當一個

12、運行著的任務使一個比它優(yōu)先級高的任務進入了就緒狀態(tài),當前任務的CPU使用權(quán)就被剝奪了,或者說被掛起了,那個高優(yōu)先級的任務立刻得到了CPU的控制權(quán)。如果是中斷服務子程序使一個高優(yōu)先級的任務進入就緒態(tài),中斷完成時,中斷了的任務被掛起,優(yōu)先級高的那個任務開始運行。占先式內(nèi)核第三十二頁,編輯于星期一:七點 四十九分。中斷是一種硬件機制,用于通知CPU有個異步事件發(fā)生了。中斷一旦被識別,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳轉(zhuǎn)到專門的子程序,稱為中斷服務子程序(ISR)。中斷服務子程序做事件處理,處理完成后,程序回到:1. 在前后臺系統(tǒng)中,程序回到后臺程序;2. 對非占先式內(nèi)核而言,程

13、序回到被中斷了的任務;3. 對占先式內(nèi)核而言,讓進入就緒態(tài)的優(yōu)先級最高的任務開始運行。中斷第三十三頁,編輯于星期一:七點 四十九分。前后臺系統(tǒng)中斷ISR任務ISR非占先操作系統(tǒng)任務A任務B任務CISR占先操作系統(tǒng)任務A任務B任務C第三十四頁,編輯于星期一:七點 四十九分。時鐘節(jié)拍是特定的周期性中斷。這個中斷可以看作是系統(tǒng)心臟的脈動。中斷之間的時間間隔取決于不同應用,一般在10ms到200ms之間。時鐘的節(jié)拍式中斷使得內(nèi)核可以將任務延時若干個整數(shù)時鐘節(jié)拍,以及當任務等待事件發(fā)生時,提供等待超時的依據(jù)。時鐘節(jié)拍率越快,系統(tǒng)的額外開銷就越大。時鐘節(jié)拍第三十五頁,編輯于星期一:七點 四十九分。嵌入式實

14、時操作系統(tǒng)在目前的嵌入式應用中用得越來越廣泛,尤其在功能復雜、系統(tǒng)龐大的應用中顯得愈來愈重要。在嵌入式應用中,只有把CPU嵌入到系統(tǒng)中,同時又把操作系統(tǒng)嵌入進去,才是真正的計算機嵌入式應用。使用實時操作系統(tǒng)主要有以下幾個因素:嵌入式實時操作系統(tǒng)提高了系統(tǒng)的可靠性。 提高了開發(fā)效率,縮短了開發(fā)周期。 嵌入式實時操作系統(tǒng)充分發(fā)揮了32位CPU的多任務潛力。 第三十六頁,編輯于星期一:七點 四十九分。:在嵌入式實時操作系統(tǒng)環(huán)境下開發(fā)實時應用程序使程序的設計和擴展變得容易,不需要大的改動就可以增加新的功能。通過將應用程序分割成若干獨立的任務模塊,使應用程序的設計過程大為簡化;而且對實時性要求苛刻的事件

15、都得到了快速、可靠的處理。通過有效的系統(tǒng)服務,嵌入式實時操作系統(tǒng)使得系統(tǒng)資源得到更好的利用。:但是,使用嵌入式實時操作系統(tǒng)還需要額外的ROM/RAM開銷,25%的CPU額外負荷,以及內(nèi)核的費用。 第三十七頁,編輯于星期一:七點 四十九分。 uClinux是一個完全符合GNU/GPL公約的操作系統(tǒng),完全開放代碼。uClinux從Linux 2.0/2.4內(nèi)核派生而來,沿襲了主流Linux的絕大部分特性。它是專門針對沒有MMU的CPU,并且為嵌入式系統(tǒng)做了許多小型化的工作。適用于沒有虛擬內(nèi)存或內(nèi)存管理單元(MMU)的處理器,例如ARM7TDMI。它通常用于具有很少內(nèi)存或Flash的嵌入式系統(tǒng)。它保

16、留了Linux的大部分優(yōu)點:。 嵌入式Linux第三十八頁,編輯于星期一:七點 四十九分。 是微軟開發(fā)的一個開放的、可升級的32位嵌入式操作系統(tǒng),是基于掌上型電腦類的電子設備操作,它是精簡的Windows 95。Windows CE的圖形用戶界面相當出色。Win CE具有模塊化、結(jié)構(gòu)化和基于Win32應用程序接口以及與處理器無關(guān)等特點。Win CE不僅繼承了傳統(tǒng)的Windows圖形界面,并且在Win CE平臺上可以使用Windows 95/98上的編程工具(如Visual Basic、Visual C+等)、 Win CE第三十九頁,編輯于星期一:七點 四十九分。VxWorks VxWorks

17、操作系統(tǒng)是美國 公司于1983年設計開發(fā)的一種嵌入式實時操作系統(tǒng)(RTOS),是嵌入式開發(fā)環(huán)境的關(guān)鍵組成部分。良好的持續(xù)發(fā)展能力、高性能的內(nèi)核以及友好的用戶開發(fā)環(huán)境,在嵌入式實時操作系統(tǒng)領(lǐng)域占據(jù)一席之地。它以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精尖技術(shù)及實時性要求極高的領(lǐng)域中,如衛(wèi)星通訊、軍事演習、彈道制導、飛機導航等,甚至在1997年4月登陸火星表面的火星探測器上也使用到了VxWorks。第四十頁,編輯于星期一:七點 四十九分。 主要是由ENEA Data AB 下屬的ENEA OSE Systems AB負責開發(fā)和技術(shù)服務的,一直以來都充當著實時操作系統(tǒng)以及

18、分布式和容錯性應用的先鋒,并保持良好的發(fā)展態(tài)勢。 的客戶深入到電信,數(shù)據(jù),工控,航空等領(lǐng)域,尤其在電信方面,該公司已經(jīng)有了十余年的開發(fā)經(jīng)驗,同諸如愛立信,諾基亞,西門子等知名公司確定了良好的關(guān)系。 OSE第四十一頁,編輯于星期一:七點 四十九分。 是為實時嵌入式應用而設計的一個搶先式多任務操作系統(tǒng)內(nèi)核,其95的代碼是用ANSIC寫成的,因此非常便于移植并能夠支持大多數(shù)類型的處理器。 采用了軟件組件的方法。每個組件具有單一而明確的目的,通常由幾個C及匯編語言模塊構(gòu)成,提供清晰的外部接口,對組件的引用就是通過這些接口完成的。由于采用了軟件組件的方法,使Nucleus PLUS 的各個組件非常易于替換和復用。Nucleus第四十二頁,編輯于星期一:七點 四十九分。 是RedHat公司開發(fā)的源代碼開放的嵌入式RTOS產(chǎn)品,是一個可配置、可移植的嵌入式實時操作系統(tǒng),設計的運行環(huán)境為RedHat的GNUPro和GNU開發(fā)環(huán)境。eCOS的所有部分都開放源代碼,可以按照需要自由修改和添加。eCOS的關(guān)鍵技術(shù)是操作系統(tǒng)可配置性,允許用戶組和自己的實時組件和函數(shù)以及實現(xiàn)方式,特別允許eCOS的開發(fā)則定制自己的面向應用的操作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論