《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種基于VxWorks的可重構(gòu)軟件框架設(shè)計(jì)
一種基于VxWorks的可重構(gòu)軟件框架設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2013年第12期
廖崇琦,文 臣,鄧 文,肖金敏
電子信息控制重點(diǎn)實(shí)驗(yàn)室,四川 成都610036
摘要: 介紹了一種基于VxWorks嵌入式操作系統(tǒng)的軟件框架設(shè)計(jì)和實(shí)現(xiàn)。該軟件框架是一種運(yùn)行于操作系統(tǒng)和應(yīng)用組件之間的中間件。它具有系統(tǒng)資源的管理及應(yīng)用組件加卸載的能力。通過(guò)該框架實(shí)現(xiàn)了嵌入式軟件可重構(gòu)。
中圖分類號(hào): TP311.1
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2013)12-0022-03
Design of a reconfigurable software framework based on VxWorks
Liao Chongqi,Wen Chen,Deng Wen,Xiao Jinmin
Science and Technology on Electronic Information Control Laboratory, Chengdu 610036,China
Abstract: This paper describes the design and implementation of VxWorks-based operating system software framework. The software framework is a middleware which is between operating system and application components. It has abilities of system resources management and application components loading and unloading. The embedded software reconfiguration is achieved using this framework.
Key words : embedded operating system;software frameworks;application component;reconfiguration

    在傳統(tǒng)的嵌入式系統(tǒng)中,嵌入式應(yīng)用軟件往往是與嵌入式處理器及嵌入式操作系統(tǒng)緊密綁定,其功能也是為某種特定的應(yīng)用而定制,缺乏靈活性和可擴(kuò)展性,軟硬件耦合緊密。隨著信息技術(shù)的發(fā)展,嵌入式處理器及嵌入式操作系統(tǒng)的能力越來(lái)越強(qiáng)大,嵌入式應(yīng)用軟件的功能也愈加復(fù)雜,以往定制開發(fā)的方法已逐漸難以滿足行業(yè)發(fā)展的需求。硬件平臺(tái)通用化、應(yīng)用軟件組件化開發(fā),以及通過(guò)動(dòng)態(tài)重構(gòu)的方法實(shí)現(xiàn)應(yīng)用軟件的功能多樣化是嵌入式軟件技術(shù)發(fā)展的趨勢(shì)[1],這種方法既能實(shí)現(xiàn)良好的技術(shù)繼承,又能快速實(shí)現(xiàn)應(yīng)用軟件功能定制,體現(xiàn)軟件無(wú)線電的特征[2]。本文提出了一種基于VxWorks嵌入式操作系統(tǒng)的軟件框架設(shè)計(jì)和實(shí)現(xiàn)方法,該框架通過(guò)實(shí)現(xiàn)資源自動(dòng)管理(分配與回收)、應(yīng)用組件動(dòng)態(tài)加卸載等功能,配合一定的軟件組件開發(fā)規(guī)范,從而實(shí)現(xiàn)了嵌入式軟件基于組件的功能可重構(gòu)

1 VxWorks嵌入式操作系統(tǒng)的特點(diǎn)
    VxWorks嵌入式操作系統(tǒng)是由美國(guó)WindRiver公司開發(fā)的一款優(yōu)秀的商用操作系統(tǒng),目前廣泛應(yīng)用在航空、航天、軍工、工業(yè)控制等領(lǐng)域,是業(yè)界最流行的嵌入式操作系統(tǒng)之一[3],其特點(diǎn)如下:
    (1)高性能的Wind內(nèi)核:Wind微內(nèi)核性能卓越,具備多任務(wù)實(shí)時(shí)調(diào)度能力,包括時(shí)間片輪轉(zhuǎn)調(diào)度和優(yōu)先級(jí)搶占調(diào)度。同時(shí)提供了諸如消息隊(duì)列、信號(hào)量、鎖等一系列任務(wù)間通信或同步機(jī)制,可以方便地實(shí)現(xiàn)多任務(wù)協(xié)同處理。
    (2)良好的可裁減性:支持系統(tǒng)高度可裁剪,可以針對(duì)特定應(yīng)用裁剪某些不使用的模塊,使系統(tǒng)達(dá)到資源占用最少,而性能達(dá)到最優(yōu)。
    (3)應(yīng)用程序動(dòng)態(tài)加卸載、動(dòng)態(tài)鏈接:支持應(yīng)用程序模塊分別編譯、在線加卸載,以及系統(tǒng)動(dòng)態(tài)對(duì)多個(gè)加載的應(yīng)用程序模塊進(jìn)行鏈接,實(shí)現(xiàn)互相調(diào)用。本文設(shè)計(jì)的嵌入式軟件框架正是利用了此特性。
    (4)其他特點(diǎn):VxWorks嵌入式操作系統(tǒng)支持幾乎所有的主流嵌入式處理器類型,如PowerPC、ARM等。另外系統(tǒng)API除了提供特有的Wind接口外,也同時(shí)支持標(biāo)準(zhǔn)POSIX接口,使應(yīng)用軟件跨平臺(tái)移植變得非常容易。
2 嵌入式軟件框架設(shè)計(jì)與實(shí)現(xiàn)
2.1 設(shè)計(jì)目標(biāo)

    嵌入式軟件框架的設(shè)計(jì)目標(biāo)主要包括以下幾個(gè)方面:
    (1)動(dòng)態(tài)加卸載:系統(tǒng)上電后,能進(jìn)行應(yīng)用組件的在線加載和卸載。
    (2)運(yùn)行控制:當(dāng)應(yīng)用組件被加載到內(nèi)存后,能控制其啟動(dòng)運(yùn)行或停止運(yùn)行。
    (3)系統(tǒng)資源管理:在操作系統(tǒng)不重新啟動(dòng)的情況下,可以對(duì)任意應(yīng)用組件進(jìn)行運(yùn)行期間的資源管理,保證系統(tǒng)運(yùn)行期間無(wú)論經(jīng)過(guò)多少次的重構(gòu),系統(tǒng)資源都不會(huì)泄漏。
    (4)多組件支持:在一個(gè)處理器上可以同時(shí)運(yùn)行多個(gè)應(yīng)用組件,而不互相干擾。
2.2 架構(gòu)設(shè)計(jì)
    基于上述設(shè)計(jì)目標(biāo),整個(gè)系統(tǒng)可以分為4個(gè)層次:處理器層、驅(qū)動(dòng)及BSP層、操作系統(tǒng)層以及應(yīng)用層。其中應(yīng)用層由嵌入式軟件框架和各個(gè)應(yīng)用組件構(gòu)成,在不同時(shí)刻加載不同應(yīng)用組件時(shí),應(yīng)用層功能將可以隨之發(fā)生變化而無(wú)需重新加電或復(fù)位操作系統(tǒng),從而實(shí)現(xiàn)了嵌入式軟件的功能可重構(gòu)。
    嵌入式軟件框架是作為一個(gè)中間層的形式運(yùn)行在操作系統(tǒng)與應(yīng)用組件之間。一方面它通過(guò)對(duì)應(yīng)用組件的動(dòng)態(tài)加卸載、系統(tǒng)資源管理、多組件管理等功能實(shí)現(xiàn)了嵌入式軟件功能可重構(gòu);另一方面它為應(yīng)用組件屏蔽了底層細(xì)節(jié),使之與硬件及操作系統(tǒng)隔離,從而可以實(shí)現(xiàn)組件二進(jìn)制級(jí)復(fù)用,對(duì)于一些通用功能組件,完全無(wú)需重新修改和編譯,直接通過(guò)多組件動(dòng)態(tài)重構(gòu)即可完成應(yīng)用軟件功能的重新定義,大大降低了開發(fā)成本,同時(shí)縮短了研發(fā)周期。
2.3 框架設(shè)計(jì)與實(shí)現(xiàn)
    基于設(shè)計(jì)目標(biāo),本軟件框架實(shí)現(xiàn)的硬件平臺(tái)為基于PowerPC8640D高性能處理器的信號(hào)處理板,操作系統(tǒng)為VxWorks6.6,開發(fā)環(huán)境為WorkBench3.0。框架采用模塊化設(shè)計(jì),主要包括系統(tǒng)接口模塊、系統(tǒng)資源管理模塊、重構(gòu)控制模塊。嵌入式軟件框架頂層結(jié)構(gòu)及接口框圖如圖1所示。

    重構(gòu)控制模塊通過(guò)重構(gòu)控制接口與外部的重構(gòu)管理軟件進(jìn)行通信,在外部重構(gòu)管理軟件的控制下實(shí)現(xiàn)對(duì)指定應(yīng)用組件的加載、運(yùn)行、停止、卸載等功能。在沒(méi)有重構(gòu)管理軟件的情況下,還可以以配置文件的方式通過(guò)配置文件接口實(shí)現(xiàn)重構(gòu)控制。應(yīng)用組件通過(guò)重構(gòu)API接口與軟件框架進(jìn)行交互,其中每個(gè)應(yīng)用組件必須實(shí)現(xiàn)兩個(gè)重構(gòu)控制接口Run()和Stop()以被軟件框架調(diào)用,其中Run()是框架啟動(dòng)組件運(yùn)行的接口,Stop()是框架停止組件運(yùn)行的接口。而框架實(shí)現(xiàn)了應(yīng)用組件注冊(cè)和注銷兩個(gè)接口:RCFGS_Module_Register()和RCFGS_Module_LogOut(),其中RCFGS_Module_Register()是組件開始運(yùn)行時(shí)向框架注冊(cè)的接口函數(shù),該接口將返回一個(gè)該組件運(yùn)行期間唯一的ID號(hào);而RCFGS_Module_LogOut()是組件停止運(yùn)行后向框架注銷的接口函數(shù),該函數(shù)的輸入?yún)?shù)就是組件ID號(hào),框架正是通過(guò)該ID實(shí)現(xiàn)了組件運(yùn)行時(shí)的系統(tǒng)資源管理。一個(gè)應(yīng)用組件將按圖2所示流程完成重構(gòu)過(guò)程。

    系統(tǒng)資源管理模塊主要實(shí)現(xiàn)每個(gè)應(yīng)用組件資源管理表資源的分配與回收。系統(tǒng)剛上電時(shí),系統(tǒng)資源管理模塊將對(duì)所有的組件注冊(cè)總表和組件資源管理表進(jìn)行清零和初始化工作。一旦應(yīng)用組件通過(guò)調(diào)用Run()接口被啟動(dòng)時(shí),將向框架注冊(cè),成功后,系統(tǒng)資源管理模塊將根據(jù)組件ID向該組件分配其唯一使用的組件資源管理表,并在組件注冊(cè)總表中進(jìn)行記錄,以確保組件資源管理表不會(huì)被重復(fù)分配,進(jìn)而確保其唯一性。應(yīng)用組件運(yùn)行期間將系統(tǒng)申請(qǐng)的各種資源(如任務(wù)、消息隊(duì)列、信號(hào)量等)一一記錄在其組件資源管理表中,在需要將應(yīng)用組件卸載前,執(zhí)行調(diào)用組件的Stop()接口,應(yīng)用組件將向框架進(jìn)行注銷,注銷時(shí)系統(tǒng)資源管理模塊將組件資源管理表中記錄的應(yīng)用組件運(yùn)行期間申請(qǐng)的系統(tǒng)資源一一釋放,再將該組件資源管理表初始化,以備下一個(gè)應(yīng)用組件注冊(cè)時(shí)分配。通過(guò)此過(guò)程,實(shí)現(xiàn)了系統(tǒng)資源的自動(dòng)管理,而不會(huì)導(dǎo)致資源泄漏。組件注冊(cè)總表和組件資源管理表的實(shí)現(xiàn)代碼片段如圖3所示。

    系統(tǒng)接口模塊是將涉及系統(tǒng)資源分配與回收的操作系統(tǒng)的API進(jìn)行二次封裝,封裝的操作系統(tǒng)函數(shù)庫(kù)包括ioLib、taskLib、kernelLib、msgQLib、rngLib、semBLib、semCLib、semLib、semMLib、semSmLib、sockLib、sysLib、tickLib、hashLib[1,2]等,二次封裝的函數(shù)具備與原API相似的接口,具備很強(qiáng)的規(guī)律性,為應(yīng)用組件快速開發(fā)或移植提供了便利。其封裝規(guī)則如下:
    原API:type  FuncName(a,b…)
    封裝后的API格式:type  RCFGS_FuncName(i_id,a,b…),其中,輸入變量i_id是每個(gè)組件注冊(cè)成功后獲得的唯一的組件ID。
    在系統(tǒng)接口模塊中所有原操作系統(tǒng)API均可分為資源申請(qǐng)、資源使用、資源釋放三類,每類的處理流程相似。本文以消息隊(duì)列API為例進(jìn)行說(shuō)明,其中msgQCreate[4-5]為資源申請(qǐng)類型,msgQSend[4-5]為資源使用類型,msgQ-Delete[4-5]為資源釋放類型。封裝為RCFGS_msgQCreate、RCFGS_msgQSend、RCFGS_msgQDelete后這三類API對(duì)應(yīng)的處理流程如圖4所示。

 

 

    本文分析了嵌入式軟件發(fā)展的趨勢(shì),以嵌入式軟件可重構(gòu)需求為出發(fā)點(diǎn),介紹了一種基于應(yīng)用組件加卸載來(lái)實(shí)現(xiàn)嵌入式應(yīng)用功能可重構(gòu)架構(gòu)和方法。該架構(gòu)中以嵌入式軟件框架為核心,通過(guò)介紹嵌入式軟件框架的設(shè)計(jì)和實(shí)現(xiàn),闡明了進(jìn)行應(yīng)用組件重構(gòu)的過(guò)程和方法。目前該框架已基于PowerPC8640D硬件平臺(tái)和Vxworks6.6操作系統(tǒng)進(jìn)行了實(shí)現(xiàn),其各項(xiàng)設(shè)計(jì)功能均得到實(shí)現(xiàn),并可穩(wěn)定運(yùn)行。該框架的實(shí)現(xiàn)解決了傳統(tǒng)的嵌入式應(yīng)用定制開發(fā)中效率低、周期長(zhǎng)、維護(hù)困難的問(wèn)題,大大提高了開發(fā)和維護(hù)效率,同時(shí)大幅度提高了嵌入式應(yīng)用功能的靈活性。
參考文獻(xiàn)
[1] 石煒,鄧偉.基于VxWorks的星載控制計(jì)算機(jī)動(dòng)態(tài)可重構(gòu)研究[J].電子設(shè)計(jì)工程,2009,21(6):30-33.
[2] 肖朝暉.計(jì)算機(jī)體系結(jié)構(gòu)的發(fā)展及技術(shù)問(wèn)題探討[J].微型機(jī)與應(yīng)用,2009,32(12):1-3.
[3] 周俊杰,何攀峰.基于Vxworks的實(shí)時(shí)多任務(wù)軟件框架設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2012,31(4):80-82.
[4] Wind River,Inc..VxWorks programmer′s guide5.5[Z].Wind River Systems,Inc.,2003.
[5] Wind River,Inc..VxWorks application programmer′s guide 6.6[Z]. Wind River Systems,Inc.,2007.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美深夜影院| 在线日本欧美| 欧美福利电影在线观看| 久久精品国产欧美亚洲人人爽| 亚洲一区网站| 在线视频精品一区| 9色porny自拍视频一区二区| 亚洲人精品午夜| 亚洲日韩视频| 亚洲一区二区三区四区五区黄| 久久大逼视频| 欧美一区综合| 国产精品成人一区二区艾草| 亚洲欧美高清| 亚洲欧美激情一区二区| 亚洲免费小视频| 亚洲欧美日韩天堂| 欧美一级久久久| 亚洲天堂激情| 性色一区二区| 久久不射中文字幕| 久久久久久久久久看片| 久久嫩草精品久久久久| 久久综合狠狠| 欧美成人日韩| 欧美日韩三级| 国产精品影视天天线| 国产亚洲精品aa| 在线高清一区| 亚洲精品资源| 亚洲综合社区| 亚洲国产高清自拍| 99re66热这里只有精品3直播| 国产精品99久久99久久久二8 | 99视频在线精品国自产拍免费观看| 亚洲精品乱码久久久久久按摩观| 夜夜躁日日躁狠狠久久88av| 亚洲自拍偷拍色片视频| 久久精品一区二区三区中文字幕| 久久资源在线| 欧美日韩视频一区二区三区| 国产精品久久久久天堂| 国内精品久久国产| 亚洲欧洲精品成人久久奇米网| 一本色道久久综合亚洲二区三区| 亚洲伊人久久综合| 亚洲国产91| 亚洲一区二区少妇| 久久综合九色综合久99| 欧美色区777第一页| 国产偷自视频区视频一区二区| 在线高清一区| 亚洲一卡二卡三卡四卡五卡| 久久精品国产成人| 中文久久精品| 老巨人导航500精品| 欧美日韩在线综合| 国内精品视频一区| 99国产成+人+综合+亚洲欧美| 欧美一区二区在线免费观看| 亚洲精品日韩在线| 性欧美8khd高清极品| 欧美14一18处毛片| 国产精品热久久久久夜色精品三区 | 欧美色道久久88综合亚洲精品| 国产一级一区二区| 亚洲精品少妇30p| 欧美一区久久| 中文欧美在线视频| 久久久综合网| 欧美午夜精品久久久久久超碰| 激情久久五月| 亚洲制服av| 9i看片成人免费高清| 欧美在线观看天堂一区二区三区 | 欧美日韩中文字幕在线视频| 激情另类综合| 午夜性色一区二区三区免费视频| 一本色道精品久久一区二区三区 | 欧美高清在线一区二区| 国产欧美精品在线| 99视频在线观看一区三区| 亚洲国产精品成人久久综合一区| 午夜视频在线观看一区二区| 欧美激情亚洲视频| 红桃视频一区| 欧美一区国产一区| 午夜精品在线看| 欧美日韩精品一区视频| 精品电影在线观看| 欧美一区二区三区成人| 午夜国产精品影院在线观看| 欧美日韩黄视频| 亚洲国产欧美不卡在线观看| 久久av红桃一区二区小说| 午夜一区不卡| 欧美亚洲成人精品| 亚洲美女91| 一本色道久久88综合日韩精品| 欧美~级网站不卡| 一区二区在线视频播放| 欧美一区二区三区四区在线观看地址 | 欧美激情一区二区在线| 亚洲电影视频在线| 亚洲二区精品| 久久综合中文色婷婷| 国产视频欧美| 午夜精品视频| 欧美一区二区三区在线观看视频| 欧美性做爰猛烈叫床潮| 一二三区精品福利视频| 一本色道久久加勒比精品| 欧美丰满少妇xxxbbb| 在线观看亚洲视频| 亚洲高清精品中出| 狼人社综合社区| 在线免费高清一区二区三区| 亚洲国产91精品在线观看| 久久这里只有精品视频首页| 国内精品嫩模av私拍在线观看| 久久成人精品一区二区三区| 久久精品国产亚洲精品| 国外精品视频| 亚洲国产精品第一区二区| 久久视频在线免费观看| 精品成人在线| 亚洲精品国产精品国自产观看浪潮| 久热精品视频在线观看| 尤物九九久久国产精品的特点 | 国产日韩欧美麻豆| 欧美一区二区在线免费观看| 久久在线观看视频| 亚洲国产精品一区二区三区| 日韩特黄影片| 国产精品99一区| 亚洲欧美在线观看| 久久精品中文| 亚洲国产精品一区在线观看不卡 | 在线观看日韩av| av成人国产| 国产精品视频免费在线观看| 午夜精品久久久久久久久久久| 久久精品人人做人人综合| 一区在线影院| 国产精品99久久久久久久久| 国产精品久久久久久久午夜片| 亚洲专区欧美专区| 久久嫩草精品久久久精品一| 亚洲电影免费观看高清完整版在线| 亚洲最新在线| 国产精品欧美经典| 亚洲高清自拍| 国产精品大片| 久久精品亚洲一区| 欧美日韩国产一区二区| 亚洲夜间福利| 美国十次成人| 夜夜嗨av色综合久久久综合网| 久久av资源网站| 亚洲精品黄色| 欧美影院在线| 91久久精品美女| 香蕉尹人综合在线观看| 国内外成人免费视频| 中文国产成人精品| 国产综合精品| 亚洲午夜在线| 伊人狠狠色j香婷婷综合| 亚洲亚洲精品三区日韩精品在线视频| 国产无一区二区| 一本色道久久综合狠狠躁篇的优点| 国产免费成人av| 一区二区久久久久久| 国产欧美一区二区三区在线老狼| 亚洲精品久久久久久一区二区| 国产精品国产馆在线真实露脸| 亚洲国产精品久久91精品| 国产精品成人一区二区网站软件 | 欧美日韩精品国产| 欧美一区二视频在线免费观看| 欧美极品色图| 欧美在线网站| 国产精品久久久久天堂| 亚洲三级毛片| 国产在线观看91精品一区| a91a精品视频在线观看| 狠狠狠色丁香婷婷综合久久五月| 亚洲色图制服丝袜| 亚洲高清久久久| 久久国产欧美日韩精品| 99国产精品久久久久久久久久 | 国语自产精品视频在线看一大j8| 亚洲午夜在线观看| 最新国产成人av网站网址麻豆| 久久久久久久久久久成人| 9色国产精品| 免费一级欧美在线大片| 亚洲欧美日韩国产综合在线| 欧美日一区二区在线观看| 亚洲日本aⅴ片在线观看香蕉|