① 如何把openssl庫在VxWorks下進行編譯或者說把openssl庫編譯成vxworks下能用的.a庫文件,如何去做
下一個完整版的cygwin,免費開源的東西,官網上就有下的
然後將工程文件拷入cygwin工作目錄
在cygwin控制台下CD到工程目錄
與上面那些步驟同時,先進入Tornado的host/x86-win32/bin目錄,把該目錄下的cygwin1.dll刪除或者重命名(建議保留,因為Tornado編譯還要用這個),然後把這個bin目錄設置到windows的path環境變數中。記下bin目錄下所用的編譯器cc和歸檔程序ar的名字(比如PPC的架構就叫ccppc和arppc)
再在cygwin控制台下輸入 CC=ccppc AR=arppc ./configure 運行(PPC為例,如果為其他架構等號後面的值做相應修改)
等配置完畢後打開生成的Makefile文件 找到-IInclude這一個flag修改成-I/cygwindriver/e/tornado/target/h (這里目錄也只是舉例,根據自己情況修改)
再之後加上-I/lib/include
保存
再在cygwin控制台下輸入make運行
這時候應該就可以開始編譯了
但是光做這些修改可能還是會多多少少的報錯
移植細節我這一時半會也沒辦法細說 只能自己看報錯來改了
② 怎麼學習VxWorks系統
VxWorks用的公司相對不是太多,並且如果學會linux,再學VxWorks並不困難,反過來則有一定困難。VxWorks比Linux的優點是實時性好,在開發方面調試工具之類的比Linux好,但是國內你要找到一個很懂VxWorks的人不多,但懂Linux的就很多。入門的話,學好C語言,試著移植一些驅動到VxWorks里即可,VxWorks兼容POSIX規范,我想你開發的難度應該不是特別大。利益相關:用了5年的VxWorks,也開發了5年的VxWorks的代碼(從6.7至今)。用VxWorks久的人都會感覺它太小了,但它開發實在是太方便了,有調試器,有完整開發套件。在有開發環境的地方,幾分鍾就能建立一個工程,編譯一個image,甚至可以放到PC機上跑。不說實時性之類的技術問題,單說入門,就很快的,比重新編譯Linux內核之類的容易的多,我自己實驗過裁剪Linux內核,真是頭大的事情。VxWorks跨平台做的很好,自帶的BSP在發布的時候都經過比較嚴格的測試,比起Linux來說,各種莫名其妙的硬體錯誤很難遇到。有人講到VxWorks像Unix,我覺得不像,至少從我看到的代碼上看,幾乎沒有Unix的東西,只不過是兼容部分POSIX API而已。在VxWorks上做二次開發就需要了解它的具體技術細節了,相對而言,我覺得跟別的系統的驅動差不多,無非就是信號量、內存、進程這些東西。如果你喜歡,用標准C的庫也可以實現大部分功能。VxWorks的缺點也很多:文檔太少,做這個的人不多,授權太貴。網上能找到的盜版都是5.5的,但官方都出到6.9了,說實話我真不喜歡5.5的那一套東西,太過時了,但要真找一套6.9的又有困難,授權費太貴。而且5.5不穩定、功能少(版權問題,我不敢放6.9的截圖,但就組件的個數方面就差別太大了)。對於Linux來說,通常是裁剪很費勁,編譯一堆問題,但找相關的文檔也容易,如果英文好,去混混社區,總能找到答案,前期入門很難,熟悉以後會容易。而用VxWorks,後期的開發遇到困難就很難找到能幫上的人。
③ 現在大火的嵌入式實時操作系統,你都了解多少
嵌入式實時操作系統強調了什麼?
系統最大的特點當然是嵌入。嵌入就意味著它和硬體的聯系很強,對硬體的適配和依賴度都是很高的,對於系統移植的難易度也就成了評價嵌入實時系統的重要方面。嵌入式操作系統移植的目的是使嵌入式操作系統能在某個微處理器或微控制器上運行。比如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都有著極為廣泛的應用。
④ 請詳細介紹一下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是開源的嗎
VxWorks不是開源的,其內核代碼由風河公司自己維護。無法由用戶自行更改。
但是BSP,各種硬體驅動等都是開源的,可以通過購買獲取。
⑥ 什麼是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在較高層次所提供的豐富的性能的要求。