嵌入式ADS第二周1課件_第1頁
嵌入式ADS第二周1課件_第2頁
嵌入式ADS第二周1課件_第3頁
嵌入式ADS第二周1課件_第4頁
嵌入式ADS第二周1課件_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

課題(章節(jié)名稱)嵌入式操作系統(tǒng)

2010年9/3日1,23,4節(jié)

10/35,6教學(xué)目的與要求

掌握嵌入式操作系統(tǒng)的分類和特點,明確實時操作系統(tǒng)的內(nèi)核特點教學(xué)重點

嵌入式操作系統(tǒng)的分類和特點,實時操作系統(tǒng)的內(nèi)核特點

教學(xué)難點

無教學(xué)方法

講授法教學(xué)時數(shù)

2課外作業(yè)

1.41.5主要內(nèi)容

1、嵌入式操作系統(tǒng)的分類2、嵌入式操作系統(tǒng)的特點3、實時操作系統(tǒng)4、目前市場上流行的嵌入式操作系統(tǒng)20303020課后小結(jié)

課時授課計劃

嵌入式系統(tǒng)軟件組成:驅(qū)動層程序?qū)崟r操作系統(tǒng)(RTOS)操作系統(tǒng)的應(yīng)用程序接口(API)應(yīng)用程序四、嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺.嵌入式系統(tǒng)的出現(xiàn),解決了嵌入式軟件開發(fā)標(biāo)準(zhǔn)化的難題。嵌入式系統(tǒng)具有操作系統(tǒng)的最基本的功能:進(jìn)程調(diào)度內(nèi)存管理(沒有虛擬內(nèi)存的管理)設(shè)備管理文件管理操作系統(tǒng)接口(API調(diào)用)中斷管理嵌入式操作系統(tǒng)具有的特點:系統(tǒng)可裁減,可配置.系統(tǒng)具備網(wǎng)絡(luò)支持功能系統(tǒng)具有一定的實時性嵌入式系統(tǒng)的軟/硬件框架馮·諾依曼體系結(jié)構(gòu)和哈佛體系結(jié)構(gòu)CISC與RISCIP核流水線存儲器系統(tǒng)嵌入式系統(tǒng)硬件基礎(chǔ)馮·諾依曼體系結(jié)構(gòu)模型指令寄存器控制器數(shù)據(jù)通道輸入輸出中央處理器存儲器程序指令0指令1指令2指令3指令4數(shù)據(jù)數(shù)據(jù)0數(shù)據(jù)1數(shù)據(jù)2CISC和RISCCISC:復(fù)雜指令集(ComplexInstructionSetComputer)具有大量的指令和尋址方式;8/2原則:80%的程序只使用20%的指令;大多數(shù)程序只使用少量的指令就能夠運(yùn)行。RISC:精簡指令集(ReducedInstructionSetComputer)在通道中只包含最有用的指令;確保數(shù)據(jù)通道快速執(zhí)行每一條指令;使CPU硬件結(jié)構(gòu)設(shè)計變得更為簡單。

CISC與RISC的數(shù)據(jù)通道IFIDREGALUMEM開始退出IFIDALUMEMREG微操作通道開始退出單通數(shù)據(jù)通道CISC與RISC的對比類別CISCRISC指令系統(tǒng)指令數(shù)量很多較少,通常少于100執(zhí)行時間有些指令執(zhí)行時間很長,如整塊的存儲器內(nèi)容復(fù)制;或?qū)⒍鄠€寄存器的內(nèi)容復(fù)制到存貯器沒有較長執(zhí)行時間的指令編碼長度編碼長度可變,1-15字節(jié)編碼長度固定,通常為4個字節(jié)尋址方式尋址方式多樣簡單尋址操作可以對存儲器和寄存器進(jìn)行算術(shù)和邏輯操作只能對寄存器對行算術(shù)和邏輯操作,Load/Store體系結(jié)構(gòu)編譯難以用優(yōu)化編譯器生成高效的目標(biāo)代碼程序采用優(yōu)化編譯技術(shù),生成高效的目標(biāo)代碼程序IP核的種類SoftCores(“code”)(軟核)HDL語言描述;靈活度高,可修改;與工藝獨立,可根據(jù)具體的加工工藝重新綜合;IP很難保護(hù)。Firmcores(“code+structure”)(固核)邏輯綜合后的描述;與工藝相關(guān)。Hardcores(“physical”)(硬核)物理綜合后的描述;準(zhǔn)備流片;包含工藝相關(guān)的布局和時序信息;IP很容易保護(hù)。多數(shù)的處理器和存儲器IP核的商業(yè)模型三種模式1.設(shè)計者提供設(shè)計和工具的許可證DSPGroup(PineandOakCores),3Soft,ARM。提供包括HDL在內(nèi)的模擬模型,工具或仿真器。使用者負(fù)責(zé)設(shè)計制造。2.核廠商設(shè)計并制造集成電路芯片TI,Motorola,Lucent。VLSI,SSI,Cirrus,Adaptec。3.核廠商賣核,負(fù)責(zé)為客戶設(shè)計并制造芯片LSIlogic,TI,Lucent。IP核的市場構(gòu)成74%為硬件設(shè)計廠商。26%將購買IP核。40%hard,68%soft,32%firm。流水線技術(shù)流水線技術(shù):幾個指令可以并行執(zhí)行。提高了CPU的運(yùn)行效率。內(nèi)部信息流要求通暢流動。譯碼取指執(zhí)行add譯碼取指執(zhí)行sub譯碼取指執(zhí)行cmp時間AddSubCmp指令流水線—以ARM為例為增加處理器指令流的速度,ARM7系列使用3級流水線。允許多個操作同時處理,比逐條指令執(zhí)行要快。PC指向正被取指的指令,而非正在執(zhí)行的指令。FetchDecodeExecute從存儲器中讀取指令解碼指令寄存器讀(從寄存器Bank)移位及ALU操作寄存器寫(到寄存器Bank)PC PCPC-4 PC-2PC-8 PC-4ARM Thumb最佳流水線該例中用6個時鐘周期執(zhí)行了6條指令。所有的操作都在寄存器中(單周期執(zhí)行)。指令周期數(shù)(CPI)=1。

操作周期 1 2 3 4 56ADDSUBMOVANDORREORCMPRSBFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDecodeExecuteFetchDecodeFetchFetch分支流水線舉例流水線被阻斷。注意:內(nèi)核運(yùn)行在ARM狀態(tài)。周期

12345

0x8000BL0x8004X0x8008XX0x8FECADD0x8FF0SUB0x8FF4MOV地址

操作FetchDecodeExecuteFetchDecodeExecuteFetchDecodeFetchFetchDecodeExecuteLinkretAdjustFetchDecodeFetch存儲器系統(tǒng)RAM:隨機(jī)存取存儲器,SRAM:靜態(tài)隨機(jī)存儲器,DRAM:動態(tài)隨機(jī)存儲器。

SRAM比DRAM快。

SRAM比DRAM耗電多。

DRAM存儲密度比SRAM高得多。

DRM需要周期性刷新。ROM:只讀存儲器。FLASH:閃存。輸入輸出接口I/OA/D、D/A鍵盤LCD存儲器接口設(shè)備接口操作系統(tǒng)的分類(1)順序執(zhí)行系統(tǒng):系統(tǒng)內(nèi)只含有一個程序,獨占CPU的運(yùn)行時間,按語句順序執(zhí)行該程序,直至執(zhí)行完畢,另一程序才能啟動運(yùn)行。如DOS操作系統(tǒng)。(2)分時操作系統(tǒng):系統(tǒng)內(nèi)同時可以有多個程序運(yùn)行,把CPU的時間按順序分成若干片,每個時間片內(nèi)執(zhí)行不同的程序,如UNIX。(3)實時操作系統(tǒng):系統(tǒng)內(nèi)有多個程序運(yùn)行,每個程序有不同的優(yōu)先級,只有最高優(yōu)先級的任務(wù)才能占有CPU的控制權(quán)。按實時性分類強(qiáng)實時系統(tǒng),其系統(tǒng)響應(yīng)時間在毫秒或微秒級(數(shù)控機(jī)床)。一般實時系統(tǒng),其系統(tǒng)響應(yīng)時間在毫秒到幾秒的數(shù)量級上,其實時性的要求比強(qiáng)實時系統(tǒng)要差一些(媒體播放)。弱實時系統(tǒng),其系統(tǒng)響應(yīng)時間約為數(shù)十秒或更長。前后臺系統(tǒng)(后臺循環(huán)、前臺中斷)ISRISR后臺前臺ISR時間代碼的臨界區(qū)也稱為臨界區(qū),指處理時不可分割的代碼。一旦這部分代碼開始執(zhí)行,則不允許任何中斷打斷。在進(jìn)入臨界區(qū)之前要關(guān)中斷,而臨界區(qū)代碼執(zhí)行完以后要立即開中斷(在任務(wù)切換時,地址、指令、數(shù)據(jù)等寄存器堆棧保護(hù))。代碼的臨界區(qū)多任務(wù)(任務(wù)、進(jìn)程和線程)CPU寄存器任務(wù)控制塊1任務(wù)控制塊2任務(wù)控制塊n休眠、就緒、運(yùn)行、掛起、被中斷任務(wù)1任務(wù)2任務(wù)n……CPU寄存器一個任務(wù),也稱作一個線程,是一個簡單的運(yùn)行程序。每個任務(wù)都是整個應(yīng)用的某一部分,每個任務(wù)被賦予一定的優(yōu)先級,有它自己的一套CPU寄存器和自己的??臻g。多任務(wù)運(yùn)行的實現(xiàn)實際上是靠CPU(中央處理單元)在許多任務(wù)之間轉(zhuǎn)換、調(diào)度。CPU只有一個,輪番服務(wù)于一系列任務(wù)中的某一個。多任務(wù)運(yùn)行使CPU的利用率得到最大的發(fā)揮,并使應(yīng)用程序模塊化。在實際應(yīng)用中,多任務(wù)的最大特點是,開發(fā)人員可以將很復(fù)雜的應(yīng)用程序?qū)哟位?,如綜合實驗(時鐘、位圖、USB、KEY)。任務(wù)的狀態(tài)系統(tǒng)內(nèi)核(Kernel)與調(diào)度(Scheduler)多任務(wù)系統(tǒng)中,內(nèi)核負(fù)責(zé)管理各個任務(wù),或者說為每個任務(wù)分配CPU時間,并且負(fù)責(zé)任務(wù)之間的通信。內(nèi)核(Kernel):提供的基本服務(wù)是任務(wù)切換。內(nèi)核本身也增加了應(yīng)用程序的額外負(fù)荷,代碼空間增加ROM用量,內(nèi)核本身數(shù)據(jù)結(jié)構(gòu)增加了RAM的用量。內(nèi)核本身對CPU的占用時間一般在2到5個百分點之間。調(diào)度(Scheduler):是內(nèi)核的主要職責(zé)之一,就是要決定該輪到哪個任務(wù)運(yùn)行了。多數(shù)實時內(nèi)核是基于優(yōu)先級調(diào)度法的。每個任務(wù)根據(jù)其重要程度的不同被賦予一定的優(yōu)先級?;趦?yōu)先級的調(diào)度法則,CPU總是讓處在就緒態(tài)的優(yōu)先級最高的任務(wù)先運(yùn)行。非占先式與占先式非占先式(non-preemptive)調(diào)度法也稱作合作型多任務(wù)(cooperativemultitasking),各個任務(wù)彼此合作共享一個CPU。中斷服務(wù)可以使一個高優(yōu)先級的任務(wù)由掛起狀態(tài)變?yōu)榫途w狀態(tài)。但中斷服務(wù)以后控制權(quán)還是回到原來被中斷了的那個任務(wù),直到該任務(wù)主動放棄CPU的使用權(quán)時,那個高優(yōu)先級的任務(wù)才能獲得CPU的使用權(quán)。非占先式內(nèi)核的一個特點是幾乎不需要使用信號量保護(hù)共享數(shù)據(jù)。運(yùn)行著的任務(wù)占有CPU,而不必?fù)?dān)心被別的任務(wù)搶占。非占先式內(nèi)核的最大缺陷在于其響應(yīng)高優(yōu)先級的任務(wù)慢,任務(wù)已經(jīng)進(jìn)入就緒態(tài),但還不能運(yùn)行,也許要等很長時間,直到當(dāng)前運(yùn)行著的任務(wù)釋放CPU。內(nèi)核的任務(wù)級響應(yīng)時間是不確定的,不知道什么時候最高優(yōu)先級的任務(wù)才能拿到CPU的控制權(quán),完全取決于應(yīng)用程序什么時候釋放CPU。非占先式(Non-Preemptive)低優(yōu)先級任務(wù)ISR高優(yōu)先級任務(wù)(1)(2)(3)(4)(5)(6)(7)中斷服務(wù)程序使高優(yōu)先級任務(wù)就緒低優(yōu)先級任務(wù)釋放CPU使用權(quán)TIME當(dāng)系統(tǒng)響應(yīng)時間很重要時,要使用占先式(preemptive)內(nèi)核。最高優(yōu)先級的任務(wù)一旦就緒,總能得到CPU的控制權(quán)。當(dāng)一個運(yùn)行著的任務(wù)使一個比它優(yōu)先級高的任務(wù)進(jìn)入了就緒態(tài),當(dāng)前任務(wù)的CPU使用權(quán)就被剝奪了,或者說被掛起了,那個高優(yōu)先級的任務(wù)立刻得到了CPU的控制權(quán)。使用占先式內(nèi)核時,應(yīng)用程序不應(yīng)直接使用不可重入型函數(shù)。如果調(diào)入可重入型函數(shù)時,低優(yōu)先級的任務(wù)CPU的使用權(quán)被高優(yōu)先級任務(wù)剝奪,不可重入型函數(shù)中的數(shù)據(jù)有可能被破壞。占先式(preemptive)占先式(Preemptive)低優(yōu)先級任務(wù)ISR高優(yōu)先級任務(wù)(1)(2)(3)(4)(5)(6)中斷服務(wù)程序使高優(yōu)先級任務(wù)就緒高優(yōu)先級任務(wù)得到CPU使用權(quán)TIME可以被一個以上的任務(wù)調(diào)用,而不必?fù)?dān)心數(shù)據(jù)的破壞??芍厝胄秃瘮?shù)任何時候都可以被中斷,一段時間以后又可以運(yùn)行,而相應(yīng)數(shù)據(jù)不會丟失??芍厝胄秃瘮?shù)或者只使用局部變量,即變量保存在CPU寄存器中或堆棧中。一個不可重入型函數(shù)的例子intTemp;Voidswap(int*x,int*y){Temp=*x;*X=*Y;*y=Temp;}可重入型函數(shù)一個可重入型函數(shù)的例子Voidswap(int*x,int*y){intTemp;Temp=*x;*X=*Y;*y=Temp;}任務(wù)優(yōu)先級靜態(tài)優(yōu)先級應(yīng)用程序執(zhí)行過程中諸任務(wù)優(yōu)先級不變,則稱之為靜態(tài)優(yōu)先級。在靜態(tài)優(yōu)先級系統(tǒng)中,諸任務(wù)以及它們的時間約束在程序編譯時是已知的。動態(tài)優(yōu)先級應(yīng)用程序執(zhí)行過程中,任務(wù)的優(yōu)先級是可變的,則稱之為動態(tài)優(yōu)先級。實時內(nèi)核應(yīng)當(dāng)避免出現(xiàn)優(yōu)先級反轉(zhuǎn)問題。優(yōu)先級反轉(zhuǎn)

實時系統(tǒng)的定義:能夠?qū)ν獠渴录龀黾皶r響應(yīng)的系統(tǒng)。響應(yīng)時間要有保證。對外部事件的響應(yīng)包括:事件發(fā)生時要識別出來在給定時間約束內(nèi)必須輸出結(jié)果實時操作系統(tǒng)必須有以下特征:多任務(wù)有線程優(yōu)先級多種中斷級別硬實時系統(tǒng):系統(tǒng)對系統(tǒng)響應(yīng)時間有嚴(yán)格的要求如果系統(tǒng)響應(yīng)時間不能滿足就會引起系統(tǒng)崩潰或致命的錯誤。軟實時系統(tǒng):統(tǒng)對系統(tǒng)響應(yīng)時間有要求,但是如果系統(tǒng)響應(yīng)時間不能滿足,它并不會導(dǎo)致系統(tǒng)出現(xiàn)致命的錯誤或崩潰。幾種主流的嵌入式操作系統(tǒng):μC/OS-II:免費(fèi)、面向中小型嵌入式系統(tǒng)應(yīng)用。Vxworks:美國WindR

溫馨提示

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

評論

0/150

提交評論