版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于VxWorks的
嵌入式開發(fā)技術(shù)潘建VxWorks簡介VxWorks支持32位的CPU,包括Intel公司的x86Motorola公司的68k和PowerPCMIPSARMIntel公司的i960Hitachi公司的SH2VxWorks的IMAGE有三個層次、四個部分。3windkernel
1.windkernel是一個微內(nèi)核,這個特點導(dǎo)致VxWorks有許多的Components2.windkernel對外設(shè)不做假設(shè)。所謂對外設(shè)不做假設(shè)是指操作系統(tǒng)不假設(shè)用戶開發(fā)的板子上是否有總線以及有什么樣的總線,也不假設(shè)內(nèi)存的大小及內(nèi)存如何定位,不假設(shè)I/O及有多少I/O。IMAGE中要有板級支持包BSP(即驅(qū)動程序)來完成對外設(shè)的管理。4功能組成:任務(wù)的管理與調(diào)度、任務(wù)的同步與通信、動態(tài)內(nèi)存的管理、軟時鐘的管理、I/O管理
5版本最簡內(nèi)核任務(wù)的管理與調(diào)度納核8kVxWorks:標(biāo)準(zhǔn)的單CPU版本VxFusion:標(biāo)準(zhǔn)的多CPU版本
6統(tǒng)一的API
由操作系統(tǒng)內(nèi)核提供的服務(wù)原語搭建起來的服務(wù)原語,是不可打斷的系統(tǒng)調(diào)用的時間盡量小、盡量是常量和可確定。7驗證性FAA美國聯(lián)邦航空局FDA美國食品和藥物管理局8實時性
使tc(contextswich)和ts(systemcall)盡可能小、盡可能是常量和可確定可確定tc和ts有一個上限不會出現(xiàn)峰值不會隨系統(tǒng)任務(wù)的增多而增多9Components
基本模塊
領(lǐng)域擴(kuò)展模塊(領(lǐng)域解決方案)
10基本模塊WDBAgent:兩種工作模式(中斷或查詢),支持系統(tǒng)級和任務(wù)級調(diào)試Shell: Loader:支持動態(tài)地下載或卸載模塊WindView支持模塊:支持利用WindView動態(tài)調(diào)試目標(biāo)程序CodeTest支持模塊:支持利用CodeTest測試系統(tǒng)的代碼覆蓋率和內(nèi)存使用情況SENS:是VxWorks的可裁減的增強型網(wǎng)絡(luò)協(xié)議棧(ScalableEnhancedNetworkStack)。它除了提供TCP/IP協(xié)議棧,還支持其他協(xié)議。最大的特點就是采用零拷貝機制,即打包/解包是通過指針的方式11網(wǎng)絡(luò)擴(kuò)展模塊:提供了豐富的網(wǎng)絡(luò)協(xié)議(BSD4.3,TCPV4,UDPetc.),路由協(xié)議(OSPF,RIPetc.)和網(wǎng)絡(luò)應(yīng)用(ping,SNMP,DHCPserver/client,DNS,telnetserver,FTPserver,NFSserver/client,TFTPserver/client)等文件系統(tǒng):支持五種文件格式:MS-DOS、RAW、NFS、CD-ROM、RT11卷標(biāo)格式(為了實現(xiàn)后向兼容)對存儲介質(zhì)不做假設(shè),可以是電的(如PCMCIA的ATA)、磁的ANSIC模塊:解決了以下問題:庫集成、庫不可重入、版本兼容及移植性,該庫中的函數(shù)大致可分為4類:字符處理功能、字符串處理功能、通用功能、I/O處理功能12POSIX:VxDCom:VxMP:VxTrueFFS:VxVMI:
13領(lǐng)域擴(kuò)展模塊(領(lǐng)域解決方案)
Telecom&Datacom:TMS(TornadoforManagedSwitches):交換機管理解決方案
(1)企業(yè)網(wǎng):管理hub、switch、router; (2)Carrier網(wǎng):邊緣交換機,VoIP網(wǎng)關(guān),核心路由器;(3)消費類網(wǎng)絡(luò):CabelModem,xDSLModem,網(wǎng)關(guān),家用網(wǎng)絡(luò)設(shè)備14ConsumerElec:TIA(TornadoforInternetAppliance)Set_topBox:衛(wèi)星、Cable、Web、PDADigitalCameraEmbeddedBrowser15BSP-BoardSupportPackage
由兩部分組成初始化、驅(qū)動程序初始化從系統(tǒng)上電復(fù)位開始直到windkernel和usrRoot根任務(wù)啟動的這段時間,系統(tǒng)的執(zhí)行過程驅(qū)動程序:一些包含I/O操作的子函數(shù)
16初始化包括:CPUInitCPUInit初始化CPU的內(nèi)部寄存器。BoardInitBoardInit初始化智能I/O的寄存器,將device打通SystemInitSystemInit為系統(tǒng)的運行準(zhǔn)備數(shù)據(jù)結(jié)構(gòu),進(jìn)行數(shù)據(jù)初始化。
17驅(qū)動程序不能自動執(zhí)行,只能被動調(diào)用三種方式任務(wù)直接調(diào)用任務(wù)調(diào)用SystemCall任務(wù)調(diào)用服務(wù)
1819對內(nèi)存使用采用FlatMode
靜態(tài)分配的IMAGE占用空間(.code、.data、.bss)、系統(tǒng)的動態(tài)空間(windkernel創(chuàng)建的REGION#0)、用戶的動態(tài)空間。2021VxWorks可被靜態(tài)或動態(tài)鏈接VxWorks在開發(fā)階段可動態(tài)地下載目標(biāo)文件,并與操作系統(tǒng)及其它目標(biāo)文件動態(tài)鏈接。鏈接以后是浮動的,只在裝載時才與絕對物理地址相對應(yīng)VxWorks成品階段是采用靜態(tài)鏈接的。
22成品時的IMAGE和調(diào)試時的IMAGE
成品時的IMAGE有兩種運行模式:ROM-residentimage:BSP初始化時把image中的data段復(fù)制到RAM中,code在ROM中運行ROM-basedimage:BSP初始化時把image完全搬到RAM中執(zhí)行,包括image中的data段和bss段。(分壓縮和非壓縮兩種類型)23ROM-resident24ROM-based25調(diào)試時的Image
先由引導(dǎo)代碼把ROMBootProgram搬到RAM中,BootProgram初始化調(diào)試下載通道和調(diào)試信息輸出通道被調(diào)試的IMAGE通過Host與Target之間的某種耦合方式download到Target的RAM中,然后接受控制權(quán),實現(xiàn)調(diào)試
2627任務(wù)三種狀態(tài)
ReadyDelayedPended狀態(tài)之間的轉(zhuǎn)換:事件驅(qū)動RE:不同優(yōu)先級搶占,同一優(yōu)先級時間片輪轉(zhuǎn)ER:被其他任務(wù)搶占或時間片耗盡EB:所需資源沒有滿足BR:所需資源得到滿足
28pendedreadydelayedsuspended任務(wù)初始化就緒隊列延時隊列懸掛隊列等待隊列29RTOS任務(wù)調(diào)度的算法
Pre_empty:不同優(yōu)先級的任務(wù)采用搶占方式
High
PriorityTaskAMediumPriorityTaskBLowPriorityTaskCEventEvent30Timeslice:相同優(yōu)先級的任務(wù)采用時間片輪轉(zhuǎn)方式(KernelTimeSlice(ticks))
ABCDABCD時間片31VxWorks的任務(wù)調(diào)度算法VxWorks的每個任務(wù)可以規(guī)定自己的priority;mode:可否設(shè)斷點、是否支持浮點操作。32任務(wù)之間的關(guān)系
1.通信:松耦合:實現(xiàn)機制:一個消息隊列緊耦合:實現(xiàn)機制:兩個消息隊列任務(wù)之間的通信也可以用信號量來構(gòu)造。2.控制:數(shù)據(jù)保護(hù):信號量或互斥量同步:信號量,信號或消息隊列33VxWorks是支持面向?qū)ο蟮牟僮飨到y(tǒng)1.
VxWorks的對象:Task、MessageQueue、Semophore、Timer、Pipe、FileDescriptor.2.
對象的屬性: 生存性:對象可以被創(chuàng)建或刪除在生存期間,可被標(biāo)識和管理:Name、ID、ControlBlock平等性:對象之間不象Unix中的父子進(jìn)程間那樣存在繼承關(guān)系3.對象的服務(wù):系統(tǒng)使用系統(tǒng)服務(wù)對對象進(jìn)行操作34Debug
35硬件:非在線問題(工藝)在線問題(設(shè)計問題):上電以后不能正常運行BSP:VxWorks和ComponentsApp語句邏輯層:程序語句的邏輯是否正確功能層:設(shè)計的功能是否可以實現(xiàn)任務(wù)層:任務(wù)的劃分、調(diào)度是否合理系統(tǒng)層:系統(tǒng)的可靠性、效率36調(diào)試的手段及工具
純硬的手段萬用表、示波器、邏輯分析儀,針對非在線的硬件問題和部分的在線硬件問題半硬半軟的手段ICE、BDM,針對部分硬件的在線問題和BSP的調(diào)試純軟的手段CrossDebugger,針對App的調(diào)試37ICE的方法運行的IMAGE在仿真器中,由仿真器的CPU在用戶的硬件環(huán)境下運行來調(diào)試軟件。限制:價格/使用率的比率太高,CPUdependence
38BDM的方法在運行IMAGE的CPU上支持一種斷點邏輯硬件調(diào)試代理宿主機通過并口連接的Adapter連接到CPU的BDM接口上,進(jìn)行軟件的調(diào)試。限制:CPU必須支持BDM方式。步驟:BDMDebugger下載Registerlist激活板子,BDMDebuggerIMAGE下載到目標(biāo)板的RAM中。3940軟件調(diào)試宿主機與目標(biāo)機通過某種方式耦合,宿主機上的調(diào)試器通過目標(biāo)機上的調(diào)試代理來進(jìn)行軟件的調(diào)試優(yōu)點是性價比高41CrossDebugger(Crosswind)
照相機(靜態(tài)調(diào)試)在某一個時間點捕捉到CPU的寄存器、內(nèi)存、應(yīng)用程序的任務(wù)、隊列、信號量等,可以調(diào)試App下面的2.5層
攝象機(動態(tài)調(diào)試)WindView、SystemBrowser,可以看到程序在動態(tài)運行時發(fā)生的情況,如任務(wù)的切換軌跡等;CodeTest可測試系統(tǒng)的代碼覆蓋率以及內(nèi)存的動態(tài)分配和釋放情況ScopeTools可分析系統(tǒng)內(nèi)某個變量隨時間的變化曲線,每個函數(shù)或任務(wù)占用CPU的時間,以及內(nèi)存的使用情況。42WindView按功能分trace:用于發(fā)現(xiàn)偶然bug,即與歷史狀態(tài)相關(guān)的bugprofile:利用直方圖、百分率進(jìn)行統(tǒng)計分析。舉例:通過直方圖統(tǒng)計任務(wù)對CPU的占用時間,進(jìn)行分析一個事后分析的工具,記錄一個Recorder,以file的形式存在宿主機上,然后對其進(jìn)行分析。這個Recorder具有三個特點:singlebuffer、transmit、wraproundVxWorks采用wrapround方式,總是記錄最后一段時間的系統(tǒng)運行情況,在記錄開始前應(yīng)該設(shè)置de-trigger的events選項,以免在通信還未中斷的情況下已經(jīng)死機,目標(biāo)機就會把死機的標(biāo)志不斷地送回宿主機,而會把死機前記錄的情況覆蓋掉43SystemBrowser是一個定時采樣、事后分析的工具,采樣的對象可以是堆棧、隊列、堆棧等
44Tornado
WIN95/NT環(huán)境下的第二代IDE,是基于軟總線的開放環(huán)境,是一種層次結(jié)構(gòu):Manager、ProjectTools、InternalBUS、symbolserver&communicateserver。4546ToolsSet
CrossCompiler:GNUforallarchitectureDiabDataforPPC,68k,Mips,ARMetc.CrossDebugger:照相機:CrossWind攝象機:WindView,SystemBrowser,CodeTest,ScopeToolsProjectFacility:VxWorks的自動配置工具Simulator:Integratedsimulator,fullsimulator47Vxworks/嵌入式Linux共同特性多任務(wù),多進(jìn)程的操作系統(tǒng)。具備軟實時特性,標(biāo)準(zhǔn)的linux內(nèi)核不具備實時特性,需另加實時調(diào)度器,構(gòu)成真正的實時操作系統(tǒng)。48EmbeddedLinux的優(yōu)點系統(tǒng)開發(fā)成本低,投資效益高,源
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 茶園租賃承包合同 乙方
- 2024車轉(zhuǎn)讓合同范文
- 施工管理配合服務(wù)實施方案
- 幼兒園小班健康領(lǐng)域《蔬菜寶寶營養(yǎng)多》教案
- 廠級員工安全培訓(xùn)試題含答案(能力提升)
- 公司及項目部安全培訓(xùn)試題含完整答案【易錯題】
- 企業(yè)防汛應(yīng)急預(yù)案
- 客戶服務(wù)應(yīng)急預(yù)案
- 崗位安全培訓(xùn)試題含答案【完整版】
- 項目安全培訓(xùn)試題及答案解析
- 安居型商品房建設(shè)和管理任務(wù)書
- 報批報建審查要求及要點
- 級配砂石換填施工方案 (2)
- 全子宮切除術(shù)后陰道殘端感染的主要原因及其預(yù)防措施
- 《靜脈輸血》PPT課件.ppt
- 淺談新時期企業(yè)勞動競賽的實踐與創(chuàng)新
- 10kV配電工程驗收資料全
- 精密貼片電阻阻值對照表
- 第四章有機反應(yīng)中的活性中間體
- 初中英語教學(xué)策略研究論文10篇
- 橢圓中常考的十六條焦點性質(zhì)和證明
評論
0/150
提交評論