嵌入式系統(tǒng)10vxworks簡介_第1頁
嵌入式系統(tǒng)10vxworks簡介_第2頁
嵌入式系統(tǒng)10vxworks簡介_第3頁
嵌入式系統(tǒng)10vxworks簡介_第4頁
嵌入式系統(tǒng)10vxworks簡介_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論