當(dāng)前位置首頁 > 計算機 > 嵌入式開發(fā)
搜柄,搜必應(yīng)! 快速導(dǎo)航 | 使用教程

VxWorks嵌入式操作系統(tǒng)課件

文檔格式:PPTX| 43 頁|大小 2.12MB|積分 10|2024-11-30 發(fā)布|文檔ID:253182247
第1頁
第2頁
第3頁
下載文檔到電腦,查找使用更方便 還剩頁未讀,繼續(xù)閱讀>>
1 / 43
此文檔下載收益歸作者所有 下載文檔
  • 版權(quán)提示
  • 文本預(yù)覽
  • 常見問題
  • VxWorks嵌入式操作系統(tǒng),主要內(nèi)容,VxWorks簡介,Tornado開發(fā)環(huán)境,BSP設(shè)計,設(shè)備驅(qū)動程序,VxWorks簡介,美國WindRiver公司于1983年設(shè)計開發(fā),良好的持續(xù)發(fā)展能力,高性能的內(nèi)核,友好的用戶開發(fā)環(huán)境,良好的可靠性和卓越的實時性,VxWorks簡介,廣泛地應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實時性要求極高的領(lǐng)域中,如衛(wèi)星通訊、軍事演習(xí)、彈道制導(dǎo)、飛機導(dǎo)航等,F-16、FA-18 戰(zhàn)斗機、B-2 隱形轟炸機和愛國者導(dǎo)彈上,甚至連1997年4月在火星表面登陸的火星探測器上也使用到了VxWorks,VxWorks簡介,何謂實時?,對于給定一個時間約束量,0,,如果系統(tǒng),S,在,T1,時刻接受到輸入,在,T2,時刻給出合理的輸出,且使,T2-T1 懸置態(tài),semTake()/msgQReceive(),就緒態(tài)-延遲態(tài),taskDelay(),就緒態(tài)-休眠態(tài),taskSuspend(),懸置態(tài)-就緒態(tài),semGive()/msgQSend(),懸置態(tài)-休眠態(tài),taskSuspend(),延遲態(tài)-就緒態(tài) expired delay,延遲態(tài)-休眠態(tài),taskSuspend(),休眠態(tài),-,就緒態(tài),taskResume()/taskActivate(),休眠態(tài),-,懸置態(tài),taskResume(),休眠態(tài),-,延遲態(tài),taskResume(),VxWorks Kernel,任務(wù)管理(調(diào)度策略),Wind,內(nèi)核采用基于優(yōu)先級,(,0255,),的搶占式調(diào)度法作為它的缺省策略,同時它也提供了輪轉(zhuǎn)調(diào)度法,VxWorks Kernel,任務(wù)管理(優(yōu)先級反轉(zhuǎn)),優(yōu)先級,時間,客觀上造成優(yōu)先級低的進程T2搶占優(yōu)先級高的進程T1,Vxworks解決方案:,優(yōu)先級繼承,在T1阻塞時,T3繼承T1的優(yōu)先級,VxWorks Kernel,任務(wù)管理(禁止調(diào)度),Wind,內(nèi)核可通過調(diào)用,taskLock(),和,taskUnlock,(),來使調(diào)度器起作用和失效。

    當(dāng)一個任務(wù)調(diào)用,taskLock(),使調(diào)度器失效,任務(wù)運行時沒有基于優(yōu)先級的搶占發(fā)生然而,如果任務(wù)被阻塞或是懸置時,調(diào)度器從就緒隊列中取出最高優(yōu)先級的任務(wù)運行當(dāng)設(shè)置搶占禁止的任務(wù)解除阻塞,再次開始運行時,搶占又被禁止這種搶占禁止防止任務(wù)的切換,但對中斷處理不起作用VxWorks Kernel,任務(wù)管理(API),taskSpawn(),創(chuàng)建(產(chǎn)生并激活)新任務(wù),taskInit(),初始化一個新任務(wù),taskActivate(),激活一個已初始化的任務(wù),taskName(),由任務(wù),ID,號得到任務(wù)名,taskNameToId,(),由任務(wù)名得到任務(wù),ID,號,taskPriorityGet(),獲得任務(wù)的優(yōu)先級,taskIsSuspended(),檢查任務(wù)是否被懸置,taskIsReady(),檢查任務(wù)是否準(zhǔn)備運行,taskTcb(),得到一個任務(wù)控制塊的指針,taskDelete(),中止指定任務(wù)并釋放內(nèi)存(僅任務(wù)堆棧和控制塊),taskSafe(),保護被調(diào)用任務(wù),taskSuspend(),懸置一個任務(wù),taskResume(),恢復(fù)一個任務(wù),taskRestart(,),重啟一個任務(wù),taskDelay(),延遲一個任務(wù),VxWorks Kernel,通信、同步和互斥機制,VxWorks,支持各種任務(wù)間通信機制,提供了多樣的任務(wù)間通信方式,主要有如下幾種:,共享內(nèi)存,主要是數(shù)據(jù)的共享;,信號量,用于基本的互斥和任務(wù)同步;,消息隊列和管道,單CPU的消息傳送;,Socket,和遠程過程調(diào)用,用于網(wǎng)絡(luò)間任務(wù)消息傳送;,二進制信號,用于異常處理。

    在多處理器之間的任務(wù)也可采用共享內(nèi)存對象來實現(xiàn)任務(wù)間通信,只是在系統(tǒng)配置上有所不同,通過組件支持COM/DCOM,VxWorks Kernel,通信、同步和互斥機制(,共享內(nèi)存),任務(wù)間通信的最簡單的方法是采用共享存儲區(qū),也即相關(guān)的各個任務(wù)分享屬于它們的地址空間的同一內(nèi)存區(qū)域因為所有任務(wù)都存在于單一的線性地址空間,任務(wù)間,可以,共享數(shù)據(jù)全局,的,變量、線性隊列、環(huán)形隊列、鏈表、指針都可被運行在不同上下文的代碼所,引用.,但保證互斥使用是用戶的任務(wù).,VxWorks Kernel,通信、同步和互斥機制(,互斥),關(guān)中斷,搶占禁止(taskLock),信號量鎖定資源等方法,一般來說,關(guān)中斷是最有效的解決互斥的方法但這對于實時應(yīng)用來說,它阻止系統(tǒng)對外部事件的響應(yīng),無法滿足實時性的要求同樣,中斷延遲也是不能接受VxWorks Kernel,通信、同步和互斥機制(,信號量,),VxWorks,信號量提供最快速的任務(wù)間通信機制,它主要用于解決任務(wù)間的互斥和同步針對不同類型的問題,有以下三種信號量:,二進制信號量使用最快捷、最廣泛,主要用于同步或互斥;,互斥信號量主要用于優(yōu)先級繼承、安全刪除和回溯;,計數(shù)器 資源分配,Note:VxWorks,還提供,POSIX,信號量和多處理器上信號量的應(yīng)用。

    VxWorks Kernel,通信、同步和互斥機制(,信號量 API,),semBCreate(),創(chuàng)建(產(chǎn)生并激活)一個二進制信號量,semMCreate(),創(chuàng)建(產(chǎn)生并激活)一個互斥信號量,semCCreate(),創(chuàng)建(產(chǎn)生并激活)制一個計數(shù)信號量,semDelete(),中止并刪除信號量,semTake,(),獲得信號量,semGive(),釋放信號量,semFlush(),解鎖所有正等待某一信號量的任務(wù),VxWorks Kernel,通信、同步和互斥機制(,消息隊列,),單處理器中任務(wù)間消息的傳送采用消息消息隊列消息機制使用一個被各有關(guān)進程共享的消息隊列,任務(wù)之間經(jīng)由這個消息隊列發(fā)送和接收消息Wind,消息隊列管理:,msgQCreate(),創(chuàng)建(產(chǎn)生并激活)消息隊列,msgQDelete(),中止并自由信號量,msgQSend(),向消息隊列發(fā)送消息,msgQReceive(),從消息隊列接收消息,VxWorks Kernel,通信、同步和互斥機制(,管道),管道,是,用,VxWorks,的,I/O,系統(tǒng)提供一種靈活的消息傳送機制,它是受驅(qū)動器,pipeDrv,(,VxWorks,所提供)管理的虛擬,I/O,設(shè)備,Note:任務(wù)調(diào)用標(biāo)準(zhǔn)的,I/O,函數(shù)打開、讀出、寫入管道,VxWorks Kernel,通信、同步和互斥機制(,網(wǎng)絡(luò)通信,),VxWorks,提供了如下一些網(wǎng)絡(luò)工具完成信息傳送:,Sockets,完成運行在,VxWorks,系統(tǒng)或其它系統(tǒng)之間任務(wù)的消息傳送;,遠程過程調(diào)用(,RPC,)允許任務(wù)調(diào)用另一主機(運行的系統(tǒng)為,VxWorks,或是其它)上的過程。

    遠程文件存取,VxWorks,任務(wù)可采用,NFS,、,RSH,、,FTP,、,TFTP,等方式遠程存取主機文件VxWorks Kernel,通信、同步和互斥機制(,網(wǎng)絡(luò)通信,組件),VxWorks Kernel,通信、同步和互斥機制(,Sockets,),VxWorks Kernel,中斷服務(wù)程序,intConnect(),將,C,函數(shù)和中斷向量聯(lián)結(jié),intCount(),得到當(dāng)前中斷套疊深度,intLevelSet(),設(shè)置程序中斷級別,intLock(),使中斷禁止,intUnlock(),開中斷,intVecSet(),設(shè)置異常向量,intVecGet(),得到異常向量,VxWorks Kernel,時鐘管理,時鐘管理提供以下功能:,維護系統(tǒng)日歷時鐘;,在任務(wù)等待消息包、信號量、事件或內(nèi)存段時的超時處理;,以一定的時間間隔或在特定的時間喚醒或發(fā)送告警到一個任務(wù)處理任務(wù)調(diào)度中的時間片輪循VxWorks Kernel,時鐘管理(API),tickAnnounce(),通知系統(tǒng)內(nèi)核時鐘,“,滴答,”,tickSet(),設(shè)定內(nèi)核時鐘計數(shù)器值,tickGet(),得到內(nèi)核時鐘計數(shù)器值,timer_create(),創(chuàng)建時鐘,timer_gettime(),獲得時鐘器給定值的當(dāng)前剩余值,timer_settime(),設(shè)定時鐘值,timer_connect(),聯(lián)系用戶函數(shù)和時鐘信號,timer_cancel(),取消一個時鐘,sysClkRateSet(),系統(tǒng)時鐘速率設(shè)置,Tornado開發(fā)環(huán)境,集成環(huán)境,高效明晰的圖形化的實時應(yīng)用開發(fā)平臺,完整的面向嵌入式系統(tǒng)的開發(fā)和調(diào)測工具,Tornado開發(fā)環(huán)境,Tornado開發(fā)環(huán)境,Tornado開發(fā)環(huán)境,Tornado開發(fā)環(huán)境,Tornado開發(fā)環(huán)境,BSP(Board Support Package),BSP在系統(tǒng)中的位置,BSP,BSP的作用,為各種目標(biāo)板的硬件功能提供了統(tǒng)一的軟件,它們包括:,硬件初始化,中斷處理和產(chǎn)生,硬件時鐘和定時器管理,內(nèi)存映射和分配,BSP,還包括,boot Rom,和其它啟動機制,sysLib,和,sysALib,庫是,VxWorks,可移植的核心,BSP,BSP初試化一般過程,BSP初試化一般過程,BSP初試化一般過程,設(shè)備驅(qū)動程序,SIO(Serial I/O),END(Enhanced Network Driver),ttyDrv Terminal driver,ptyDrv Pseudo-terminal driver,pipeDrv Pipe driver,memDrv Pseudo memory device driver,nfsDrv NFS client driver,netDrv Network driver for remote file access,ramDrv RAM driver for creating a RAM disk,scsiLib SCSI interface library,Other hardware-specific drivers,設(shè)備驅(qū)動程序(I/O結(jié)構(gòu)),I/O子系統(tǒng),Device Driver,IOLib,APP,對所支持的設(shè)備,VxWorks標(biāo)準(zhǔn)接口,設(shè)備驅(qū)動程序,驅(qū)動初始化例程,xxDrv(),安裝驅(qū)動、分配數(shù)據(jù)結(jié)構(gòu)、連接中斷服務(wù)例程、初始化硬件,設(shè)備創(chuàng)建,xxDevCreate(),給驅(qū)動增加一個設(shè)備,參數(shù)包括緩沖區(qū)大小、設(shè)備地址等,為設(shè)備初始化數(shù)據(jù)結(jié)構(gòu)、信號量和硬件等,基本,I/O,功能,xxOpen(),xxRead(),xxWrite(),xxIoctl(),中斷服務(wù)例程,xxInterrupt(),應(yīng)用軟件開發(fā)指導(dǎo),任務(wù)劃分要合理,功能內(nèi)聚性,時間緊迫性,周期執(zhí)行原則,防止死鎖、饑餓和優(yōu)先級翻轉(zhuǎn),函數(shù)的可重入性(,Reentrancy,)正確運用,用戶任務(wù)優(yōu)先級確定,BSP及驅(qū)動開發(fā)指導(dǎo),了解硬件及其操作,根據(jù)BSP或驅(qū)動模板編寫,對VxWorks支持的I/O,采用VxWorks標(biāo)準(zhǔn)接口,對VxWorks不支持的I/O,編寫自己的用戶接口(xxOpen,xxRead,xxWrite,xxIoctl,xxISR),回調(diào)機制,動態(tài)加載,。

    點擊閱讀更多內(nèi)容
    最新文檔
    傳統(tǒng)文化道德不是高懸的明月而是腳下的星光.pptx
    世界無煙日關(guān)注青少年成長健康無煙為成長護航.pptx
    五四青年節(jié)詩詞贊歌五四青年自強不息.pptx
    XX學(xué)校班主任培訓(xùn)用心管理慧做班主任.pptx
    拒絕熬夜健康養(yǎng)生規(guī)律作息遠離亞健康.pptx
    兒童成長手冊時光里的童真印記.pptx
    幼兒園夏季傳染病預(yù)防指南預(yù)見夏天健康童行夏季傳染病預(yù)防科普.pptx
    高中生心理健康教育主題班會快樂學(xué)習(xí)高效學(xué)習(xí)正視壓力學(xué)會減壓.pptx
    員工職業(yè)道德與職業(yè)素養(yǎng)培訓(xùn)遵守職業(yè)道德提高職業(yè)修養(yǎng).pptx
    2025職業(yè)病防治法宣傳周健康守護職防同行.pptx
    XX幼兒園防災(zāi)減災(zāi)安全教育臨災(zāi)不亂安全童行學(xué)會保護自己.pptx
    在2025年縣教育工作大會暨高考備考工作推進會上的講話發(fā)言材料.docx
    在2025年縣全面從嚴(yán)治黨和黨風(fēng)廉政會議上的講話發(fā)言材料.docx
    在2025年全市慶?!拔逡弧濒邉趧幽7侗碚么髸系闹v話發(fā)言材料多篇.docx
    2025年稅務(wù)局青年代表在五四青年座談會上的發(fā)言材料3篇.docx
    在2025年市委全體會議上的主持講話發(fā)言材料.docx
    2025年黨風(fēng)廉政建設(shè)工作要點材料.docx
    在2025年全市青年干部慶祝五四青年節(jié)大會上的講話發(fā)言材料多篇.docx
    在入黨積極分子培訓(xùn)班上的講話發(fā)言材料.docx
    縣文旅局黨組書記在五一假期及夏季旅游安全生產(chǎn)工作部署會議上的講話發(fā)言材料.docx
    賣家[上傳人]:仙人指路
    資質(zhì):實名認(rèn)證