版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于VxWorks的
嵌入式開發(fā)技術潘建VxWorks簡介VxWorks支持32位的CPU,包括Intel公司的x86Motorola公司的68k和PowerPCMIPSARMIntel公司的i960Hitachi公司的SH2VxWorks的IMAGE有三個層次、四個部分。3windkernel
1.windkernel是一個微內核,這個特點導致VxWorks有許多的Components2.windkernel對外設不做假設。所謂對外設不做假設是指操作系統不假設用戶開發(fā)的板子上是否有總線以及有什么樣的總線,也不假設內存的大小及內存如何定位,不假設I/O及有多少I/O。IMAGE中要有板級支持包BSP(即驅動程序)來完成對外設的管理。4功能組成:任務的管理與調度、任務的同步與通信、動態(tài)內存的管理、軟時鐘的管理、I/O管理
5版本最簡內核任務的管理與調度納核8kVxWorks:標準的單CPU版本VxFusion:標準的多CPU版本
6統一的API
由操作系統內核提供的服務原語搭建起來的服務原語,是不可打斷的系統調用的時間盡量小、盡量是常量和可確定。7驗證性FAA美國聯邦航空局FDA美國食品和藥物管理局8實時性
使tc(contextswich)和ts(systemcall)盡可能小、盡可能是常量和可確定可確定tc和ts有一個上限不會出現峰值不會隨系統任務的增多而增多9Components
基本模塊
領域擴展模塊(領域解決方案)
10基本模塊WDBAgent:兩種工作模式(中斷或查詢),支持系統級和任務級調試Shell: Loader:支持動態(tài)地下載或卸載模塊WindView支持模塊:支持利用WindView動態(tài)調試目標程序CodeTest支持模塊:支持利用CodeTest測試系統的代碼覆蓋率和內存使用情況SENS:是VxWorks的可裁減的增強型網絡協議棧(ScalableEnhancedNetworkStack)。它除了提供TCP/IP協議棧,還支持其他協議。最大的特點就是采用零拷貝機制,即打包/解包是通過指針的方式11網絡擴展模塊:提供了豐富的網絡協議(BSD4.3,TCPV4,UDPetc.),路由協議(OSPF,RIPetc.)和網絡應用(ping,SNMP,DHCPserver/client,DNS,telnetserver,FTPserver,NFSserver/client,TFTPserver/client)等文件系統:支持五種文件格式:MS-DOS、RAW、NFS、CD-ROM、RT11卷標格式(為了實現后向兼容)對存儲介質不做假設,可以是電的(如PCMCIA的ATA)、磁的ANSIC模塊:解決了以下問題:庫集成、庫不可重入、版本兼容及移植性,該庫中的函數大致可分為4類:字符處理功能、字符串處理功能、通用功能、I/O處理功能12POSIX:VxDCom:VxMP:VxTrueFFS:VxVMI:
13領域擴展模塊(領域解決方案)
Telecom&Datacom:TMS(TornadoforManagedSwitches):交換機管理解決方案
(1)企業(yè)網:管理hub、switch、router; (2)Carrier網:邊緣交換機,VoIP網關,核心路由器;(3)消費類網絡:CabelModem,xDSLModem,網關,家用網絡設備14ConsumerElec:TIA(TornadoforInternetAppliance)Set_topBox:衛(wèi)星、Cable、Web、PDADigitalCameraEmbeddedBrowser15BSP-BoardSupportPackage
由兩部分組成初始化、驅動程序初始化從系統上電復位開始直到windkernel和usrRoot根任務啟動的這段時間,系統的執(zhí)行過程驅動程序:一些包含I/O操作的子函數
16初始化包括:CPUInitCPUInit初始化CPU的內部寄存器。BoardInitBoardInit初始化智能I/O的寄存器,將device打通SystemInitSystemInit為系統的運行準備數據結構,進行數據初始化。
17驅動程序不能自動執(zhí)行,只能被動調用三種方式任務直接調用任務調用SystemCall任務調用服務
1819對內存使用采用FlatMode
靜態(tài)分配的IMAGE占用空間(.code、.data、.bss)、系統的動態(tài)空間(windkernel創(chuàng)建的REGION#0)、用戶的動態(tài)空間。2021VxWorks可被靜態(tài)或動態(tài)鏈接VxWorks在開發(fā)階段可動態(tài)地下載目標文件,并與操作系統及其它目標文件動態(tài)鏈接。鏈接以后是浮動的,只在裝載時才與絕對物理地址相對應VxWorks成品階段是采用靜態(tài)鏈接的。
22成品時的IMAGE和調試時的IMAGE
成品時的IMAGE有兩種運行模式:ROM-residentimage:BSP初始化時把image中的data段復制到RAM中,code在ROM中運行ROM-basedimage:BSP初始化時把image完全搬到RAM中執(zhí)行,包括image中的data段和bss段。(分壓縮和非壓縮兩種類型)23ROM-resident24ROM-based25調試時的Image
先由引導代碼把ROMBootProgram搬到RAM中,BootProgram初始化調試下載通道和調試信息輸出通道被調試的IMAGE通過Host與Target之間的某種耦合方式download到Target的RAM中,然后接受控制權,實現調試
2627任務三種狀態(tài)
ReadyDelayedPended狀態(tài)之間的轉換:事件驅動RE:不同優(yōu)先級搶占,同一優(yōu)先級時間片輪轉ER:被其他任務搶占或時間片耗盡EB:所需資源沒有滿足BR:所需資源得到滿足
28pendedreadydelayedsuspended任務初始化就緒隊列延時隊列懸掛隊列等待隊列29RTOS任務調度的算法
Pre_empty:不同優(yōu)先級的任務采用搶占方式
High
PriorityTaskAMediumPriorityTaskBLowPriorityTaskCEventEvent30Timeslice:相同優(yōu)先級的任務采用時間片輪轉方式(KernelTimeSlice(ticks))
ABCDABCD時間片31VxWorks的任務調度算法VxWorks的每個任務可以規(guī)定自己的priority;mode:可否設斷點、是否支持浮點操作。32任務之間的關系
1.通信:松耦合:實現機制:一個消息隊列緊耦合:實現機制:兩個消息隊列任務之間的通信也可以用信號量來構造。2.控制:數據保護:信號量或互斥量同步:信號量,信號或消息隊列33VxWorks是支持面向對象的操作系統1.
VxWorks的對象:Task、MessageQueue、Semophore、Timer、Pipe、FileDescriptor.2.
對象的屬性: 生存性:對象可以被創(chuàng)建或刪除在生存期間,可被標識和管理:Name、ID、ControlBlock平等性:對象之間不象Unix中的父子進程間那樣存在繼承關系3.對象的服務:系統使用系統服務對對象進行操作34Debug
35硬件:非在線問題(工藝)在線問題(設計問題):上電以后不能正常運行BSP:VxWorks和ComponentsApp語句邏輯層:程序語句的邏輯是否正確功能層:設計的功能是否可以實現任務層:任務的劃分、調度是否合理系統層:系統的可靠性、效率36調試的手段及工具
純硬的手段萬用表、示波器、邏輯分析儀,針對非在線的硬件問題和部分的在線硬件問題半硬半軟的手段ICE、BDM,針對部分硬件的在線問題和BSP的調試純軟的手段CrossDebugger,針對App的調試37ICE的方法運行的IMAGE在仿真器中,由仿真器的CPU在用戶的硬件環(huán)境下運行來調試軟件。限制:價格/使用率的比率太高,CPUdependence
38BDM的方法在運行IMAGE的CPU上支持一種斷點邏輯硬件調試代理宿主機通過并口連接的Adapter連接到CPU的BDM接口上,進行軟件的調試。限制:CPU必須支持BDM方式。步驟:BDMDebugger下載Registerlist激活板子,BDMDebuggerIMAGE下載到目標板的RAM中。3940軟件調試宿主機與目標機通過某種方式耦合,宿主機上的調試器通過目標機上的調試代理來進行軟件的調試優(yōu)點是性價比高41CrossDebugger(Crosswind)
照相機(靜態(tài)調試)在某一個時間點捕捉到CPU的寄存器、內存、應用程序的任務、隊列、信號量等,可以調試App下面的2.5層
攝象機(動態(tài)調試)WindView、SystemBrowser,可以看到程序在動態(tài)運行時發(fā)生的情況,如任務的切換軌跡等;CodeTest可測試系統的代碼覆蓋率以及內存的動態(tài)分配和釋放情況ScopeTools可分析系統內某個變量隨時間的變化曲線,每個函數或任務占用CPU的時間,以及內存的使用情況。42WindView按功能分trace:用于發(fā)現偶然bug,即與歷史狀態(tài)相關的bugprofile:利用直方圖、百分率進行統計分析。舉例:通過直方圖統計任務對CPU的占用時間,進行分析一個事后分析的工具,記錄一個Recorder,以file的形式存在宿主機上,然后對其進行分析。這個Recorder具有三個特點:singlebuffer、transmit、wraproundVxWorks采用wrapround方式,總是記錄最后一段時間的系統運行情況,在記錄開始前應該設置de-trigger的events選項,以免在通信還未中斷的情況下已經死機,目標機就會把死機的標志不斷地送回宿主機,而會把死機前記錄的情況覆蓋掉43SystemBrowser是一個定時采樣、事后分析的工具,采樣的對象可以是堆棧、隊列、堆棧等
44Tornado
WIN95/NT環(huán)境下的第二代IDE,是基于軟總線的開放環(huán)境,是一種層次結構:Manager、ProjectTools、InternalBUS、symbolserver&communicateserver。4546ToolsSet
CrossCompiler:GNUforallarchitectureDiabDataforPPC,68k,Mips,ARMetc.CrossDebugger:照相機:CrossWind攝象機:WindView,SystemBrowser,CodeTest,ScopeToolsProjectFacility:VxWorks的自動配置工具Simulator:Integratedsimulator,fullsimulator47Vxworks/嵌入式Linux共同特性多任務,多進程的操作系統。具備軟實時特性,標準的linux內核不具備實時特性,需另加實時調度器,構成真正的實時操作系統。48EmbeddedLinux的優(yōu)點系統開發(fā)成本低,投資效益高,源
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《深圳大學圖書館》課件
- 《電子服務概論》課件
- 2024屆安徽省部分學校高三上學期期末考試歷史試題(解析版)
- 2024年遼寧輕工職業(yè)學院單招職業(yè)技能測試題庫完整答案
- 單位管理制度集粹選集【人事管理篇】十篇
- 單位管理制度匯編大全【員工管理篇】
- 單位管理制度合并選集職工管理篇
- 《法國雪鐵龍公園》課件
- 單位管理制度分享合集【職工管理篇】
- 單位管理制度呈現大全【職工管理】十篇
- 江西省景德鎮(zhèn)市2023-2024學年高二上學期1月期末質量檢測數學試題 附答案
- 2024年辦公樓衛(wèi)生管理制度模版(3篇)
- 船舶防火與滅火(課件)
- 保險公司2024年工作總結(34篇)
- 2024年01月22503學前兒童健康教育活動指導期末試題答案
- 湖北省荊州市八縣市2023-2024學年高一上學期1月期末考試 化學 含解析
- 2024年世界職業(yè)院校技能大賽中職組“嬰幼兒保育組”賽項考試題庫-上(單選題)
- 《水文化概論》全套教學課件
- 期末測評(基礎卷二)-2024-2025學年一年級上冊數學人教版
- 深圳大學《數值計算方法》2021-2022學年第一學期期末試卷
- 社區(qū)共享菜園建設方案及實施計劃
評論
0/150
提交評論