❶ 我想學VxWorks,但不知如何下手,請各位高手給我推薦幾本電子書。多謝!
VxWorks是一個能支持若干種CPU的嵌入式操作系統,它的集成開發環境叫做Tornado,高版本的VxWorks的集成開發環境叫做Workbench(基於Eclipse架構)。
建議從Tornado 2.2 / VxWorks 5.5 for pentium開始入手,找一台最破的386...的機器,最好有軟盤驅動器坦鏈灶的,跑起來熟悉一下啥叫宿主機、啥叫目標機、嵌入式如何調試。
我不建議你用虛擬機玩VxWorks,因為用虛擬機沒有感覺,你還是不知道啥叫宿主機、啥叫讓扮目標機、寫喚碼軟盤主引導扇區的VxLoad等等概念。
推薦2本書看一看:
《嵌入式實時操作系統VxWorks及其開發環境Tornado》 孔祥營 中國電力出版社
《VxWorks程序開發實踐》 陳智育 人民郵電出版社
看完了這兩本書,上面的問題就清楚了。除了看書,推薦一個論壇「Tony嵌入式」論壇,有很多寶貴的資料,和前輩們以路上走過來留下的足跡。
然後,根據項目需要,再玩VxWorks for 其它CPU,當然需要了解相對應CPU的詳細情況。
我在另一個帖子中回答過這個問題(http://..com/question/301459649.html)
❷ 想問一下,要完成vxworks程序開發,具體都要買些什麼啊,還有那個vxworks大概是怎麼買的謝了。
這問題問得,怎麼回答啊。
vxworks6.8 現在售價20w美元,你想買?
❸ 學習基於vxworks的PLC設計要什麼基礎
是不是導師給的論文題目呀?也太不靠譜了,為什麼要用VxWorks實現PLC呢?
PLC本身就是一個基於定時器和死循環的控製程序,簡單得不能再簡單了,建議不要用任何操作系統。
你的題目好比用大炮打蚊子,把一個簡單的事情搞復雜了,那我就說說要什麼基礎:
1)熟悉PLC原理
2)熟悉編譯原理,自己能做語法解釋器
3)如果需要支持梯形圖編程激塵碼(就是托吧托吧、拽吧拽吧就能形成控制明哪流程),那就更復雜了
4)熟悉PLC需要支持的現場匯流排規范(PLC總要有工業現場匯流排介面吧)
5)熟悉VxWorks嵌入式應用程序開發、驅動程序開發、BSP移植
6)熟悉你要實現PLC選用的CPU對應的編譯器,能寫兄簡Makefile文件
我能想到的就是這些了,總之,每一個部分拿出來,都夠一個團隊干1~2年的了。
❹ 在VxWorks操作系統下,由於不想Windows系統那麼可視化,怎樣使用C或C++編寫程序,請教
VxWorks系統下編寫程序?真沒有這么用過,一般WindRiver在提供的DVD提供了類似MFC之類的Tornado或者猜基Workbench之類的可視化開發環境,WindRiver賣的也只是DVD,這個DVD可以安裝在Windows或者linux上,安裝完成之譽圓後就慶兆塌是VxWorks的開發環境,可以在裡面進行開發,這些開發的代碼也可以集成到vxWorks操作系統中。但VxWorks系統下不進行C程序的開發,至少我們沒有那麼用過。
❺ 現在大火的嵌入式實時操作系統,你都了解多少
嵌入式實時操作系統強調了什麼?
系統最大的特點當然是嵌入。嵌入就意味著它和硬體的聯系很強,對硬體的適配和依賴度都是很高的,對於系統移植的難易度也就成了評價嵌入實時系統的重要方面。嵌入式操作系統移植的目的是使嵌入式操作系統能在某個微處理器或微控制器上運行。比如VxWorks是商用操作系統的有很多API函數及相關技術支持,所以移植和二次開發比較容易,但是移植成本較高。嵌入還意味著對於小型的硬體要求,主要是面對實時產生的數據,在數據產生終端進行快速的運算。所以系統極其強調靈敏性和實時性。
另一個特點就是實時。對於實時性的要求,有很多種實現措施。我們一一道來。首先就是分區處理的思想。對於核心的功能劃分,使用戶信息和系統程序和運行分列在不同的區劃里,保證任務的有效有序運轉。其次, 任務管理是嵌入式實時操作系統的核心和靈魂,決定了操作系統的實時性能。它通常包含優先順序設置、多任務調度機制和時間確定性等部分。 嵌入式操作系統支持多任務,每個任務都具有優先順序,任務越重要,賦予的優先順序應越高。優先順序的設置分為靜態優先順序和動態優先順序兩種。靜態優先順序指的是每個任務在運行前都被賦予一個優先順序,而且這個優先順序在系統運行期間是不能改變的;動態優先順序則是指每個任務的優先順序(特別是應用程序的優先順序)在系統運行時可以動態地改變。 嵌入式操作系統支持多任務,每個任務都具有優先順序。任務調度主要是協調任務對計算機系統資源的爭奪使用。對系統資源非常匱乏的嵌入式系統來說,任務調度尤為重要,它直接影響到系統的實時性能。通常,多任務調度機制分為基於優先順序搶占式調度和時間片輪轉調度。
基於優先順序搶占式調度:系統中每個任務都有一個優先順序,內核總是將CPU分配給處於就緒態的優先順序最高的任務運行。如果系統發現就緒隊列中有比當前運行任務更高的優先順序任務,就把當前運行任務置於就緒隊列中,調入高優先順序任務運行。系統採用優先順序搶占方式進行調度,可以保證重要的突發事件及時得到處理。
時間片輪轉調度:讓優先順序相同的處於就緒狀態的任務按時間片使用CPU,以防止同優先順序的某一任務長時間獨佔CPU。
在一般情況下,嵌入式實時操作系統採用基於優先順序搶占式調度與時間片輪轉調度相結合的調度機制。
第三,在運行的執行方式上,VXworks等系統採用進程和線程的執行方式,而市面上其他的系統多採用任務執行方式。
嵌入式實時操作系統函數調用與服務的執行時間應具有可確定性。系統服務的執行時間不依賴於應用程序任務的多少。基於此特徵,系統完成某個確定任務的時間是可預測的。表1具體列出了4種操作系統的調度機制。
VxWorks具有高效的任務管理功能,它支持多任務,可分配256個優先順序,支持優先順序搶占式調試和時間片輪轉調度,實時性最好。μC/OS-II內核是針對實時系統的要求設計實現的,只支持基於固定優先順序搶占式調度;調度方法簡單,可以滿足較高的實時性要求。μClinux在結構上繼承了標准Linux的多任務實現方式,分為實時進程和普通進程,分別採用先來先服務和時間片輪轉調度;僅針對中低檔嵌入式CPU特點進行改良,且不支持內核搶占。eCos調度方法豐富,提供了兩種基於優先順序的調度器(即點陣圖調度器和多級隊列調度器),允許用戶在進行配置時選擇其中一個凋度器,適應性好。
此外,還涉及到任務的中斷管理。
中斷管理是實時系統中一個很重要的部分,系統經常通過中斷與外部事件交互。主要考慮是否支持中斷嵌套、中斷處理機制、中斷延時等。
以VXwoks為例,xWorks操作系統中斷管理採用中斷處理與普通任務分別在不同棧中處理的中斷處理機制,使得中斷只會引發一些關鍵寄存器的存儲,而不會導致任務的上下文切換,從而極大地縮短了中斷延時。同時,VxWorks的中斷處理程序只能在最短時間內通告中斷的發生,而將其他的非實時處理盡量放入被引發的中斷服務程序中來完成,這也縮短了中斷延時。但是凼為中斷服務程序不在一個固定的仟務上下文中執行,而目沒有任務控制塊,所以所有中斷服務程序使用相同的中斷堆棧。為了能處理最壞情況下的中斷嵌套,必須分配足夠大的中斷堆棧空間。
因商業原因,不對其他新型嵌入式實時操作系統做分析。
·有哪些厲害的MPU實時操作系統?
1、VXworks
VxWorks 操作系統是美國WindRiver公司於1983年設計開發的一種嵌入式實時操作系統(RTOS),是嵌入式開發環境的關鍵組成部分。良好的持續發展能力、高性能的內核以及友好的用戶開發環境,在嵌入式實時操作系統領域占據一席之地。它以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中,如衛星通訊、軍事演習、彈道制導、飛機導航等。在美國的 F-16、FA-18戰斗機、B-2 隱形轟炸機和愛國者導彈上,甚至連1997年4月在火星表面登陸的火星探測器、2008年5月登陸的鳳凰號,和2012年8月登陸的好奇號也都使用到了VxWorks上。
VxWorks操作系統有以下部件組成:
多任務調度(採用基於優先順序搶占方式,同時支持同優先順序任務間的分時間片調度)
任務間的同步
進程間通信機制
中斷處理
定時器和內存管理機制
總之,VxWorks的系統結構是一個相當小的微內核的層次結構。內核僅提供多任務環境、進程間通信和同步功能。這些功能模塊足夠支持VxWorks在較高層次所提供的豐富的性能的要求。
2、QNX
QNX是一種商用的遵從POSIX規范的類Unix實時操作系統,目標市場主要是面向嵌入式系統。它可能是最成功的微內核操作系統之一。
QNX成立於1980年,是加拿大一家知名的嵌入式系統開發商。
QNX的應用范圍極廣,包含了:控制保時捷跑車的音樂和媒體功能、核電站和美國陸軍無人駕駛Crusher坦克的控制系統[2],還有RIM公司的BlackBerry PlayBook平板電腦。
3、Rtems
RTEMS, 即: 實時多處理器系統(Real Time Executive for Multiprocessor Systems),是一個開源的無版稅實時嵌入操作系統RTOS。
它最早用於美國國防系統,早期的名稱為實時導彈系統(Real Time Executive for Missile Systems),後來改名為實時軍用系統(Real Time Executive for Military Systems),現在由OAR公司負責版本的升級與維護。無論是航空航天、軍工,還是民用領域RTEMS都有著極為廣泛的應用。
❻ freertos vxworks系統的優點和缺點
1、FreeRTOS是一個迷你的實時操作系統內核。最大的特點是「小」,佔用資源小,支持8位、16位、32位MCU平台。FreeRTOS提供了操作系統基本的功能和組件,包括:任務管理、時間管理、信號量、消息隊列、內存管理、記錄功能、軟體定時器、協程等。此外FreeRTOS還有一個最大的優勢就是就是免費。不足之處,一方面體現在系統的服務功能上,如FreeRTOS只提供了消息隊列和信號量的實現,無法以後進先出的順序向消息隊列發送消息;另一方面,FreeRTOS只是一個操作系統內核,需外擴第三方的GUI(圖形用戶界面)、TCP/IP協議棧、FS(文件系統)等才能實現一個較復雜的系統,不像μC/OS-II可以和μC/GUI、μC/FS、μC/TCP-IP等無縫結合。
2、VxWorks不僅是一種嵌入式實時操作系統,又是可以運行的最小基本程序。其內部有BSP(BoardSupportPackage,板級支持包),便於進行驅動程序的編寫。此外,VxWorks具有強實時性、微內核設計、可裁剪性、可移植性和可靠性等特點,能較好地滿足嵌入式開發的需求。缺點就是昂貴的價格讓開發者望而卻步。
❼ 請詳細介紹一下VxWorks
國外商用嵌入式實時操作系統 VxWORKS 介紹
1 綜述
WRS(Wind River System) 公司是國際著名的嵌入式實時操作系統的供應商。其產品 VxWroks 早期運行在 VRTX 、 pSOS 及自身運行較慢的 WIND 內核等實時內核之上,從 5.0 發行起,不再支持別的內核,只運行自己的 WIND 內核(重寫的 WIND 內核)。這個系統的基本設計思想是要充分利用 VxWORKS 和 Unix/Windows 的優點,使之與嵌入式軟體相互補充達到最優。
Unix 和 Windows 雖然用戶界面友好、開發工具豐富,但是由於嵌入式實時系統的時間、空間的局限性,他們不適用於實時應用開發。傳統的實時操作系統提供的用於開發的環境資源(非實時組件)又非常貧乏。 VxWORKS 使嵌入式系統開發人員能在嵌入開發環境下更好的使用 Unix/Windows 。
VxWORKS 能夠一方面處理緊急的實時事務,另一方面,讓主機用於程序開發和非實時的事務。開發者可以根據應用需要恰當地裁減 VxWORKS 。開發時可以包含附加的網路功能加速開發過程,在產品最終版本中,再去掉附加功能,節省系統資源。
WRS 公司還提供最新一代的 IDE---- 主機上的集成開發環境 Tornado, 開發者通過 Tornado 來編輯、編譯、連接和存儲實時代碼,但是實時代碼的運行和調試都在 VxWORKS 上進行。最終生成的目標映像可以脫離主機系統和網路,單獨運行在 ROM 、磁碟(軟 / 硬)或 FLASH 上。主機系統和 VxWORKS 可以在一個混合應用中共同工作:通過網路聯接,主機使用 VxWORKS 系統作為實時伺服器。
1995 年開發出的 Tornado ,贏得電子設計新聞該年度的「嵌入式開發軟體創新獎「( Electronic Design News' 「Embedded Development Software Innovation of the Year」 award ) [9] 。
2 特點
• 支持多種硬體環境
VxWORKS 操作系統支持的 CPU 包括: Power PC 、 68K 、 CPU32 、 Space 、 i960 、 x86 、 Mips 等等;同時支持 RISC 、 DSP 技術。
• 微內核結構,任務間切換時間短,中斷延遲小,網路流量大。
• 較好的可剪裁能力,可裁減組件超過 80 個,用戶通過交叉開發環境方便地進行配置。
• 支持應用程序的動態連接和動態下載,使開發者省去了每次調試都將應用程序與操作系統內核進行連接和下載的步驟,縮短了編輯 / 調試的周期。
• 較好的兼容性:兼容 POSIX1003.1b 標准( Portable Operating System Interface for computer Environments,= Portable Operating System UNIX , IEEE 1003.1 ) 。
• 高可靠性、高可用性、高安全性。
3 組成
VxWORKS 包括進程管理、存儲管理、設備管理、文件系統管理、網路協議及系統應用等部分,佔用很小的存儲空間,支持高度裁減,保證系統能以較高的效率運行。 VxWORKS 體系結構如圖 1.5 所示 [9][10][59] 。
VxWORKS 包括以下部分:
• Wind 內核
Wind 內核包括基於優先順序的搶占式多任務調度機制、任務間的同步和進程間的通訊機制以及中斷處理、看門狗和內存管理機制。不僅提供多種信號量支持任務間同步和互斥的機制,而且提供消息隊列、管道、套接字和信號等機制支持進程間通信。
• I/O 系統
VxWORKS 提供了快速靈活的與 ANSI C 兼容的 I/O 系統,包括 UNIX 標準的緩沖 I/O 和 POSIX 標準的非同步 I/O 。還包括多個驅動程序(包括網路驅動、管道驅動、 RAM 盤驅動、 SCSI 驅動、磁碟驅動、顯示驅動、鍵盤驅動、並口驅動等)。
• 文件系統
VxWORKS 提供了快速文件系統適合於實時系統應用。它擁有多種支持使用塊設備的本地文件系統。這些設備都使用一個標准介面,從而使得文件系統能夠靈活地在設備驅動程序上移植。
• 板級支持包 BSP(Board Support Package)
板級支持包對各種板的硬體功能提供了統一的軟體介面,它包括硬體初始化、中斷的產生和處理、硬體時鍾和計時器管理、局域和匯流排內存地址映射、內存分配等等。每個板級支持包括一個 ROM 啟動( Root ROM )或其他啟動機制。
• 網路設施與產品
• 虛擬內存與共享內存
VxWORKS 的 VxWMI 為帶有 MMU ( Memory Mapping Unit )的目標板提供了虛擬內存機制。 VxMP 提供了共享信號量、消息隊列和不同處理器之間的共享內存區域。
• 目標代理( Target Agent )
目標代碼遵循 WDB(Wind Debug) 協議,允許目標機與主機上的 Tornado 開發工具相連。如圖 1.6 所示,目標代理是以 VxWORKS 的一個任務的形式運行。
Tornado 目標伺服器向目標代理發送調試請求。調試請求通常決定目標代理對系統中其他任務的控制和處理。默認狀態下,目標伺服器與目標代理通過網路進行通信,用戶也可以改變通信方式。
VxWORKS 操作系統自 1996 年進入中國,廣泛應用於通信、國防、工業控制、醫療設備等嵌入式實時應用領域。它是研究嵌入式實時操作系統的一個極好對象。
❽ Vxworks上編寫的嵌入式應用程序可以調用Windows生成的lib或者dll嗎
1、直接調用肯定是不行的,首先CPU架構就不是一類的,嵌入式的軟體多使用ARM或PowerPC等RISC指令集的CPU,但是如果你有源代碼的話,可以在vxworks的槐扒編譯環境中重新編譯一下就行了,一般使用兩個重要參數CPU=你的CPU類型如PPC32,TOOS=gnu等。
2、vxworks與無操作系統的單沖悔片機不同,首先你的程序能跑起來,說明vxworks操作鉛判昌系統已經正常運行並控制你的程序正常運行了;在這種情況下,如果你再下載一個程序進去,如果是相同的程序,有兩種情況:一是你的程序是可重入的,可以運行;二是你的程序不可重入,不能正常運行。如果程序不同,應該可以正常運行。
❾ 什麼是VxWorks
vxworks
VxWorks 是美國 Wind River System 公司( 以下簡稱風河 公司 ,即 WRS 公司)推出的一個實時操作系統。Tornado 是WRS 公司推出的一套實時操作系統開發環境,類似Microsoft Visual C,但是提供了更豐富的調試、防真環境和工具。
VxWorks操作系統有以下部件組成:
內核(wind):
多任務調度(採用基於優先順序搶占方式,同時支持同優先順序任務間的分時間片調度)
任務間的同步
進程間通信機制
中斷處理
定時器和內存管理機制
I/O 系統
VxWorks 提供了一個快速靈活的與 ANSI C 兼容的 I/O 系統,包括 UNIX 標準的Basic I/O(creat(), remove(), open(),close(), read(), write(), and ioctl().),Buffer I/O (fopen(), fclose(), fread(), fwrite(), getc(), putc()) 以及POSIX 標準的非同步 I/O。VxWorks 包括以下驅動程序:網路驅動、管道驅動、RAM盤驅動、SCSI驅動、鍵盤驅動、顯示驅動、磁碟驅動、並口驅動等
文件系統
支持四種文件系統: dosFs,rt11Fs,rawFs 和 tapeFs
支持在一個單獨的 VxWorks 系統上同時並存幾個不同的文件系統。
板級支持包 BSP(Board Support Package)
板級支持包向VxWorks操作系統提供了對各種板子的硬體功能操作的統一的軟體介面,它是保證VxWorks操作系統可移植性的關鍵,它包括硬體初始化、謹談旦中斷的產生和處理、硬體時鍾和計時器管理、局域和匯流排內存地址映射、內存分配等侍羨等。 每個板級支持包括一個 ROM 啟動(Boot ROM)或其它啟動機制。
網路支持:
它提供了對其它VxWorks系統和TCP/IP 網路系統的"透明"訪問,包括與BSD套接字兼容的編程介面,遠程過程調用(RPC),SNMP(可選項),遠程文件訪問(包括客戶端和服務端的NFS機制以及使用RSH,FTP 或 TFTP的非NFS機制)以及BOOTP 和代理ARP、DHCP、DNS、OSPF、RIP。無論是松耦合的串列線路、標準的乙太網連接還是緊耦合的利用共祥擾享內存的背板匯流排,所有的 VxWorks 網路機制都遵循標準的 Internet 協議。
系列網路產品:
WindNet SNMP
WindNet STREAMS
WindNet 第三方產品,包括 OSI、SS7、ATM、Frame Relay、CORBA、ISDN、X.25、
CMIP/GDMO、分布式網路管理等。
這些產品擴展了VxWorks的網路特性,並增強了嵌入式處理器的網路特性
虛擬內存( VxVMI)與共享內存(VxMP)
VxVMI 為帶有 MMU 的目標板提供了虛擬內存機制。
VxMP 提供了共享信號量,消息隊列和在不同處理器之間的共享內存區域。
目標代理(Target Agent)
目標代理遵循 WBD(Wind Debug)協議,允許目標機與主機上的 Tornado 開發工具相連。在目標代理的預設設置中,目標代理是以 VxWorks 的一個任務tWdbTask 的形式運行的。
Tornado 目標伺服器(Target Server)向目標代理發送調試請求。調試請求通常決定目標代理對系統中其它任務的控制和處理。預設狀態下,目標伺服器與目標代理通過網路進行通信,但是用戶也可以改變通信方式。
實用庫
VxWorks 提供了一個實用常式的擴展集,包括中斷處理、看門狗定時器、消息登錄、 內存分配、字元掃描、線緩沖和環緩沖管理、鏈表管理和 ANSI C 標准。
基於目標機的工具
在 Tornado 開發系統中,開發工具是駐留在主機上的。但是也可以根據需要將基於目標機的Shell 和裝載卸載模塊加入 VxWorks。
總之,VxWorks的系統結構是一個相當小的微內核的層次結構。內核僅提供多任務環境、進程間通信和同步功能。這些功能模塊足夠支持VxWorks在較高層次所提供的豐富的性能的要求。
❿ 學習VxWorks系統,如何入門相比Linux,它有何優勢
vxworks一般在軍事,航天設備上用,所以陵畢資料就比較保密尺枝芹,學習和開發成本也非常高
linux比較適合入門,也比較熱,適用范圍也廣
wince曾經一統江山,現在已經日薄西山了
嵌入式工程師主要做驅動,應用程序開發和搭蠢系統移植
硬體工程師制板,做電路,這個比工程師還要辛苦