當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件

關(guān)鍵詞:嵌入式 實(shí)時(shí) 操作系統(tǒng) 微內(nèi)核 任務(wù) 中斷 調(diào)度 目標(biāo)系統(tǒng)

一 VxWorks實(shí)時(shí)操作系統(tǒng)背景

用戶在開發(fā)具有日益復(fù)雜的32位嵌入式處理器的產(chǎn)品時(shí),需要一個(gè)用來(lái)連接產(chǎn)品應(yīng)用程序和底層硬件的操作系統(tǒng)。用戶所尋求的操作系統(tǒng)應(yīng)該具有的最重要的特點(diǎn)包括:

可靠性高的實(shí)時(shí)性能

可下載到最終產(chǎn)品的板上內(nèi)存的豐富和靈活的功能模塊集與全面的主機(jī)開發(fā)環(huán)境的可協(xié)同工作。

VxWorks操作系統(tǒng)是美國(guó)WindRiver公司于1987年設(shè)計(jì)開發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)(),是Tornado II嵌入式開發(fā)環(huán)境的關(guān)鍵組成部分。

VxWorks是Windriver公司開發(fā)專門為實(shí)時(shí)嵌入式系統(tǒng)設(shè)計(jì)開發(fā)的操作系統(tǒng)軟件,為程序員提供了高效的實(shí)時(shí)任務(wù)調(diào)度、中斷管理,實(shí)時(shí)的系統(tǒng)資源以及實(shí)時(shí)的任務(wù)間通信。應(yīng)用程序員可以將盡可能多的精力放在應(yīng)用程序本身,而不必再去關(guān)心系統(tǒng)資源的管理。該系統(tǒng)主要應(yīng)用在單板機(jī)、數(shù)據(jù)網(wǎng)絡(luò)(以太網(wǎng)交換機(jī)、路由器)和通信方面等多方面。通過(guò)對(duì)VxWorks的研究,可以使我們對(duì)嵌入式操作系統(tǒng)的研究和開發(fā)更進(jìn)一步,尤其對(duì)國(guó)內(nèi)的類似研制廠家有借鑒意義。

VxWorks操作系統(tǒng)的主要功能

目前VxWorks操作系統(tǒng)的版本為VxWorks 5.4,其核心功能主要有:

微內(nèi)核wind

任務(wù)間通信機(jī)制

網(wǎng)絡(luò)支持

文件系統(tǒng)和I/O管理

標(biāo)準(zhǔn)實(shí)時(shí)擴(kuò)展

C++以及標(biāo)準(zhǔn)支持

這些核心功能可以與WindRiver系統(tǒng)的附件和Tornado合作伙伴的產(chǎn)品結(jié)合在一起使用。

二 VxWorks實(shí)時(shí)操作系統(tǒng)的簡(jiǎn)介

VxWorks實(shí)時(shí)操作系統(tǒng)包括微內(nèi)核wind、網(wǎng)絡(luò)支持、文件系統(tǒng)和I/O管理、C++和標(biāo)準(zhǔn)支持等核心功能。

1. 微內(nèi)核設(shè)計(jì)

處于VxWorks實(shí)時(shí)操作系統(tǒng)核心的是高性能的微內(nèi)核wind。這個(gè)微內(nèi)核支持所有的實(shí)時(shí)特征:快速任務(wù)切換、中斷支持、搶占式和時(shí)間片輪轉(zhuǎn)調(diào)度等。微內(nèi)核設(shè)計(jì)減少了系統(tǒng)開銷,從而保證了對(duì)外部事件的快速、確定的反應(yīng)。

運(yùn)行環(huán)境也提供了有效的任務(wù)間通信機(jī)制,允許獨(dú)立的任務(wù)在實(shí)時(shí)系統(tǒng)中與其行動(dòng)相協(xié)調(diào)。開發(fā)者在開發(fā)應(yīng)用程序時(shí)可以使用多種方法:用于簡(jiǎn)單數(shù)據(jù)共享的共享內(nèi)存、用于單CPU的多任務(wù)間信息交換的消息隊(duì)列和管道、套接口、用于網(wǎng)絡(luò)通信的遠(yuǎn)程過(guò)程調(diào)用、用于處理異常事件的信號(hào)等。為了控制關(guān)鍵的系統(tǒng)資源,提供了三種信號(hào)燈:二進(jìn)制、計(jì)數(shù)、有優(yōu)先級(jí)繼承特性的互斥信號(hào)燈。

2. 可裁剪的運(yùn)行軟件

VxWorks之所以設(shè)計(jì)為具有可裁剪性,是為了使開發(fā)者能夠根據(jù)自己的應(yīng)用程序需要,而不是根據(jù)操作系統(tǒng)的需要,來(lái)分配稀少的內(nèi)存資源。從需要幾個(gè)KB字節(jié)內(nèi)存的深層嵌入式設(shè)計(jì)到需要更多的操作系統(tǒng)的功能的復(fù)雜的高端的實(shí)時(shí)系統(tǒng),開發(fā)者也許需要從100多個(gè)不同的選項(xiàng)中進(jìn)行選擇以產(chǎn)生上百種的配置方式。許多獨(dú)立的模塊都是在開發(fā)時(shí)要使用而在產(chǎn)品中卻不再使用。

而且,這些子系統(tǒng)本身也是可裁剪的,這樣就允許開發(fā)者為最廣泛的應(yīng)用程序進(jìn)行更為優(yōu)化的VxWorks運(yùn)行環(huán)境配置。例如,如果應(yīng)用程序不需要某些功能模塊,就可以將它移出 C運(yùn)行庫(kù);如果應(yīng)用程序不需要某些特定的內(nèi)核同步對(duì)象,這些對(duì)象也可以忽略。還有,TCP、UDP、套接口和標(biāo)準(zhǔn)Berkeley服務(wù)也可以根據(jù)需要將之移出或移入網(wǎng)絡(luò)協(xié)議棧。

這些配置選項(xiàng)可以通過(guò)Tornado II的項(xiàng)目工具圖形接口輕易地選擇。開發(fā)者也可以使用Tornado II的自動(dòng)裁剪特性,自動(dòng)地分析應(yīng)用程序代碼并合并合適的選項(xiàng)。

三 VxWorks操作系統(tǒng)的基本結(jié)構(gòu)

VxWorks操作系統(tǒng)的基本構(gòu)成部件主要有以下五個(gè)部分:

板級(jí)支持包BSP(Board )

微內(nèi)核wind

網(wǎng)絡(luò)系統(tǒng)

文件系統(tǒng)

I/O系統(tǒng)

VxWorks 操作系統(tǒng)包括了板級(jí)支持包BSP(Board )、進(jìn)程管理、存儲(chǔ)管理、設(shè)備管理、文件系統(tǒng)管理、網(wǎng)絡(luò)協(xié)議及系統(tǒng)應(yīng)用等幾個(gè)部分。VxWorks只占用了很小的存儲(chǔ)空間,并可高度裁減,保證了系統(tǒng)能以較高的效率運(yùn)行。

1.板級(jí)支持包 BSP(Board )

板級(jí)支持包對(duì)各種板子的硬件功能提供了統(tǒng)一的軟件接口,它包括硬件初始化、中斷的產(chǎn)生和處理、硬件時(shí)鐘和計(jì)時(shí)器管理、局域和總線內(nèi)存地址映射、內(nèi)存分配等等。每個(gè)板級(jí)支持包括一個(gè) ROM 啟動(dòng)(Boot ROM)或其它啟動(dòng)機(jī)制。

2.高性能的實(shí)時(shí)操作系統(tǒng)核心 wind

[1].VxWorks 的核心,被稱作 wind,包括多任務(wù)調(diào)度(采用優(yōu)先級(jí)搶占方式),任務(wù)間的同步和進(jìn)程間通信機(jī)制以及中斷處理,看門狗和內(nèi)存管理機(jī)制。一個(gè)多任務(wù)環(huán)境允許實(shí)時(shí)應(yīng)用程序以一套獨(dú)立任務(wù)的方式構(gòu)筑,每個(gè)任務(wù)擁有獨(dú)立的執(zhí)行線程和它自己的一套系統(tǒng)資源。進(jìn)程間通信機(jī)制使得這些任務(wù)的行為同步、協(xié)調(diào)。

[2].wind使用中斷驅(qū)動(dòng)和優(yōu)先級(jí)的方式。它縮短了上下文轉(zhuǎn)換的時(shí)間開銷和中斷的時(shí)延。在 VxWorks 中,任何例程都可以被啟動(dòng)為一個(gè)單獨(dú)的任務(wù),擁有它自己的上下文和堆棧。還有一些其它的任務(wù)機(jī)制可以使任務(wù)掛起、繼續(xù)、刪除、延時(shí)或改變優(yōu)先級(jí)。

[3].wind 核提供信號(hào)量作為任務(wù)間同步和互斥的機(jī)制。在 wind 核中有幾種類型的信號(hào)量,它們分別針對(duì)不同的應(yīng)用需求:二進(jìn)制信號(hào)量、計(jì)數(shù)信號(hào)量、互斥信號(hào)量和 信號(hào)量。所有的這些信號(hào)量是快速和高效的,它們除了被應(yīng)用在開發(fā)設(shè)計(jì)過(guò)程中外,還被廣泛地應(yīng)用在 VxWorks 高層應(yīng)用系統(tǒng)中。對(duì)于進(jìn)程間通信,wind 核也提供了諸如消息隊(duì)列、管道、套接字和信號(hào)等機(jī)制。

3.網(wǎng)絡(luò)設(shè)施

VxWorks的網(wǎng)絡(luò)結(jié)構(gòu)如圖所示,它提供了對(duì)其它網(wǎng)絡(luò)和 TCP/IP 網(wǎng)絡(luò)系統(tǒng)的"透明"訪問(wèn),包括與BSD套接字兼容的編程接口,遠(yuǎn)程過(guò)程調(diào)用(RPC),(可選項(xiàng)),遠(yuǎn)程文件訪問(wèn)(包括客戶端和服務(wù)端的NFS機(jī)制以及使用RSH,F(xiàn)TP 或 P的非NFS機(jī)制)以及 和 ARP 代理。無(wú)論是松耦合的串行線路、標(biāo)準(zhǔn)的以太網(wǎng)連接還是緊耦合的利用共享內(nèi)存的背板總線,所有的 VxWorks 網(wǎng)絡(luò)機(jī)制都遵循標(biāo)準(zhǔn)的 協(xié)議。

4.文件系統(tǒng)

VxWorks 提供的快速文件系統(tǒng)適合于實(shí)時(shí)系統(tǒng)應(yīng)用。它包括幾種支持使用塊設(shè)備(如磁盤)的本地文件系統(tǒng)。這些設(shè)備都使用一個(gè)標(biāo)準(zhǔn)的接口從而使得文件系統(tǒng)能夠被靈活地在設(shè)備驅(qū)動(dòng)程序上移植。

VxWorks 也支持 磁帶設(shè)備的本地文件系統(tǒng)。VxWorks I/O 體系結(jié)構(gòu)甚至還支持在一個(gè)單獨(dú)的 VxWorks 系統(tǒng)上同時(shí)并存幾個(gè)不同的文件系統(tǒng)。

VxWorks 支持四種文件系統(tǒng):

dosFs

rt11Fs

rawFs

tapeFs。

另一方面,普通數(shù)據(jù)文件,外部設(shè)備都統(tǒng)一作為文件處理。它們?cè)谟脩裘媲坝邢嗤恼Z(yǔ)法定義,使用相同的保護(hù)機(jī)制。這樣既簡(jiǎn)化了系統(tǒng)設(shè)計(jì)又便于用戶使用。

5.I/O 系統(tǒng)

VxWorks 提供了一個(gè)快速靈活的與 C 兼容的 I/O 系統(tǒng),包括

標(biāo)準(zhǔn)的緩沖 I/O

標(biāo)準(zhǔn)的異步 I/O

VxWorks 包括以下驅(qū)動(dòng)程序:

網(wǎng)絡(luò)驅(qū)動(dòng)

管道驅(qū)動(dòng)

RAM盤驅(qū)動(dòng)

驅(qū)動(dòng)

鍵盤驅(qū)動(dòng)

顯示驅(qū)動(dòng)

磁盤驅(qū)動(dòng)

并口驅(qū)動(dòng)

四Tornado II系統(tǒng)開發(fā)工具

了解Vxworks操作系統(tǒng)的構(gòu)成,對(duì)我們開發(fā)目標(biāo)系統(tǒng)上的軟件和調(diào)試有重要意義,同時(shí)也能鏈接其內(nèi)核的許多功能方便共享。在Tornado集成環(huán)境上的開發(fā)其基本點(diǎn)是動(dòng)態(tài)鏈接與加載,即Tornado允許開發(fā)者增量地將目標(biāo)模塊加載到目標(biāo)系統(tǒng)上去,這種動(dòng)態(tài)的鏈接和加載功能是Tornado系統(tǒng)的核心功能,可以使開發(fā)者省去通常的開發(fā)步驟:在主機(jī)上將應(yīng)用程序與內(nèi)核鏈接起來(lái),然后將整個(gè)應(yīng)用程序下載到目標(biāo)系統(tǒng)上去。這樣,編輯-測(cè)試-調(diào)試的周期會(huì)大為縮短;而且,所有的模塊都是可以共享的,主機(jī)上的應(yīng)用程序模塊也不需要重新鏈接,所以,加載目標(biāo)模塊到運(yùn)行中的VxWorks目標(biāo)系統(tǒng)中以達(dá)到調(diào)試和重新配置的目的成為可能。關(guān)于如何調(diào)試VXWORKS目標(biāo)系統(tǒng)本文不贅述。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉