国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Reworks操作系統(tǒng)的信息交互軟件設(shè)計

2016-12-26 09:41占海燕吳海坤
中國新技術(shù)新產(chǎn)品 2016年23期
關(guān)鍵詞:多任務(wù)

占海燕++吳海坤

摘 要:本文簡要介紹了嵌入式操作系統(tǒng)應(yīng)用背景和ReWorks;針對信息交互軟件設(shè)計需要,分析了ReWorks操作系統(tǒng)任務(wù)機(jī)制,給出了信息交互軟件的設(shè)計過程,介紹了ReWorks環(huán)境下使用ReDe集成環(huán)境進(jìn)行軟件開發(fā)和調(diào)試過程,對同行進(jìn)行同類型研究具有參考意義。

關(guān)鍵詞:ReWorks;信息交互軟件;多任務(wù);ReDe

中圖分類號:TP31 文獻(xiàn)標(biāo)識碼:A

0.引言

嵌入式操作系統(tǒng)面向特定的應(yīng)用需求,能夠有針對性地進(jìn)行設(shè)計、優(yōu)化,進(jìn)而提高效率降低成本。當(dāng)前主流的通用型嵌入式操作系統(tǒng)主要有Linux, VxWorks, Windows CE.net等,其中面向控制、通信等領(lǐng)域的實時嵌入式操作系統(tǒng)有WindRiver公司的VxWorks等,國內(nèi)主要的嵌入式操作系統(tǒng)有麒麟系列Linux,Reworks等。

嵌入式操作系統(tǒng)的廣泛應(yīng)用給我們的生活工作帶來了巨大的便利,同時對嵌入式操作系統(tǒng)的可靠、可控也有了越來越高的要求,尤其在關(guān)系國家安全社會穩(wěn)定的應(yīng)用上。在國防、航天、電力、交通等領(lǐng)域的信息化系統(tǒng)建設(shè)中盡可能地使用國產(chǎn)化的硬件和軟件。

ReWorks是由華東計算技術(shù)研究所自主研發(fā)的一款國產(chǎn)化的嵌入式操作系統(tǒng),與vxWorks全面兼容,具有實時、高效、安全和可裁減等特性。ReWorks操作系統(tǒng)是由微內(nèi)核及一組可裁剪的核心組件構(gòu)建的可伸縮的嵌入式實時操作系統(tǒng),與通用嵌入式操作系統(tǒng)VxWorks高度兼容,具有中斷管理、內(nèi)存管理、時鐘管理等功能,不僅能夠較好滿足一般嵌入式系統(tǒng)也能滿足大型嵌入式操作系統(tǒng)需求。

1.Reworks操作系統(tǒng)任務(wù)機(jī)制

在ReWorks操作系統(tǒng)中,任務(wù)是可以單獨(dú)執(zhí)行的線程,具有唯一的任務(wù)編號,占用獨(dú)立的CPU和系統(tǒng)資源,一個時刻獨(dú)立占用處理器時間。任務(wù)信息包含在一組數(shù)據(jù)結(jié)構(gòu)中,由名稱、優(yōu)先級、狀態(tài)、棧信息和執(zhí)行上下文組成。ReWorks任務(wù)包括Posix類型和VxWorks類型,各自擁有創(chuàng)建接口和相關(guān)管理接口,兩者除Posix部分管理接口可共用外,大部分管理接口不能混用,否則會導(dǎo)致接口錯誤。Posix的創(chuàng)建接口為:pthread_create();VxWorks創(chuàng)建接口為taskSpawn()。

任務(wù)狀態(tài)有就緒、等待、運(yùn)行和僵死。狀態(tài)轉(zhuǎn)換關(guān)系如圖1所示。

根據(jù)ReWorks系統(tǒng)的實時性和多任務(wù)性,ReWorks任務(wù)可以劃分為并發(fā)任務(wù)和順序任務(wù)。并發(fā)任務(wù)之間相互競爭,操作系統(tǒng)通過信號量、隊列來實現(xiàn)不同任務(wù)之間的同步和通信問題。任務(wù)信息記錄在由系統(tǒng)分配與維護(hù)的一個數(shù)據(jù)結(jié)構(gòu)中。ReWorks內(nèi)核采用基于優(yōu)先級的搶占調(diào)度算法,結(jié)合時間片輪轉(zhuǎn)法以及先進(jìn)先出算法來進(jìn)行同優(yōu)先級任務(wù)的調(diào)度。在創(chuàng)建任務(wù)時,必須合理使用任務(wù)的優(yōu)先級和時間片輪轉(zhuǎn)法。

ReWorks操作系統(tǒng)的消息隊列是應(yīng)用動態(tài)創(chuàng)建的具有可變長度的緩沖區(qū),消息的長度和存儲在其中的內(nèi)容都是用戶定義的,可以是實際的數(shù)據(jù)指針或空。通過消息,任務(wù)和ISR發(fā)送和接收消息,實現(xiàn)帶有數(shù)據(jù)的通信和同步。消息隊列是系統(tǒng)管理的機(jī)構(gòu)隊列允許任務(wù)傳遞可變長的消息,可使用隊列進(jìn)行幾個同種資源的互斥訪問,隊列的長度相當(dāng)于該資源的數(shù)目,它決定了有多少個任務(wù)能夠同時使用該資源。

ReWorks操作系統(tǒng)提供一個特殊的寄存器作為每個任務(wù)控制塊的一部分,即事件寄存器它是一個屬于任務(wù)的對象,并由一組跟蹤指定事件值的2進(jìn)制事件標(biāo)志組成任務(wù)和ISR可以使用事件標(biāo)志來向其他任務(wù)發(fā)送信號。下面顯示的代碼例示了串口接收任務(wù)comRece1()在接收到n個數(shù)據(jù)后,通過事OS_EVENT_1激活接收處理任務(wù)rece_comm1task()的過程。

2.基于ReWorks的信息交互軟件設(shè)計思路

2.1 信息交互軟件特點(diǎn)

在大型軟件系統(tǒng)中,信息交互軟件承擔(dān)著各個軟件之間數(shù)據(jù)轉(zhuǎn)發(fā)、協(xié)議轉(zhuǎn)換任務(wù),通常具有實時性要求高,數(shù)據(jù)量大、外部接口眾多等特點(diǎn)。作為軟件系統(tǒng)數(shù)據(jù)交換的主要部件,信息交互軟件對系統(tǒng)正常有效運(yùn)行發(fā)揮必不可少的作用。軟件系統(tǒng)中各部分間數(shù)據(jù)接口方式主要有網(wǎng)絡(luò)、串口、總線等,不同的接口之間需要合理的互連實現(xiàn)信息互通。信息交互軟件的主要功能示意圖如圖2所示。

2.2 信息交互軟件設(shè)計思路

在信息交互軟件中,網(wǎng)絡(luò)和總線為主要的接口方式。通過網(wǎng)絡(luò)互連的軟件模塊之間,建立網(wǎng)絡(luò)連接后,采用TCP或UDP方式進(jìn)行數(shù)據(jù)通信。信息交互軟件多為控制臺應(yīng)用程序,無需進(jìn)行界面設(shè)計,只在控制臺中打印必要的信息。針對信息交互軟件實時性要求高和數(shù)據(jù)量大的特點(diǎn),信息交互軟件多采用多任務(wù)結(jié)構(gòu):數(shù)據(jù)接收任務(wù)、數(shù)據(jù)處理任務(wù)和數(shù)據(jù)發(fā)送任務(wù)。

信息交互軟件可分為:初始化、中斷處理、數(shù)據(jù)接收任務(wù)、數(shù)據(jù)處理任務(wù)、數(shù)據(jù)發(fā)送任務(wù)5部分。軟件初始化完成網(wǎng)絡(luò)接口、磁盤劃分、中斷設(shè)置、任務(wù)啟動等功能。由于其他軟件單元的數(shù)據(jù)發(fā)送是不可預(yù)知的,使用中斷設(shè)置來處理。當(dāng)產(chǎn)生外部中斷時調(diào)用中斷服務(wù)程序,通知數(shù)據(jù)處理任務(wù)讀取數(shù)據(jù)。數(shù)據(jù)接收任務(wù)接收到中斷服務(wù)程序發(fā)出的通知,從網(wǎng)口接收來自其他軟件單元的數(shù)據(jù)并將數(shù)據(jù)存放到相應(yīng)數(shù)據(jù)緩沖區(qū)中。數(shù)據(jù)處理任務(wù)從接收數(shù)據(jù)緩沖區(qū)中取出需要處理的數(shù)據(jù),根據(jù)數(shù)據(jù)類型分別進(jìn)行解析、處理、重組,然后將處理好的數(shù)據(jù)放入對應(yīng)發(fā)送數(shù)據(jù)緩沖區(qū)。數(shù)據(jù)發(fā)送任務(wù)則是從數(shù)據(jù)發(fā)送緩沖區(qū)中取出需要發(fā)送的數(shù)據(jù),增加幀頭幀尾及校驗信息后發(fā)送到相應(yīng)目的地址。

一般信息交互軟件過程如下:

(1)對板卡的網(wǎng)絡(luò)、內(nèi)存等進(jìn)行初始化,設(shè)置網(wǎng)卡IP和可用內(nèi)存大小等,同時進(jìn)行必要參數(shù)設(shè)置,啟動數(shù)據(jù)接收、數(shù)據(jù)處理、數(shù)據(jù)發(fā)送三種任務(wù);

(2)數(shù)據(jù)接收任務(wù)將接收到的數(shù)據(jù)放入數(shù)據(jù)接收緩沖區(qū),同時向數(shù)據(jù)處理任務(wù)發(fā)送信號;

(3)數(shù)據(jù)處理任務(wù)接收到信號后從數(shù)據(jù)接收緩沖區(qū)取數(shù)據(jù),進(jìn)行解析,按照協(xié)議重新組幀并放入數(shù)據(jù)發(fā)送緩沖區(qū);

(4)數(shù)據(jù)發(fā)送任務(wù)將數(shù)據(jù)發(fā)送緩沖區(qū)的數(shù)據(jù)發(fā)送到相應(yīng)的目的地址。

3.ReWorks下的信息交互軟件開發(fā)和調(diào)試

ReWorks操作系統(tǒng)下的軟件開發(fā)需使用相應(yīng)開發(fā)環(huán)境,一般包括宿主計算機(jī)和目標(biāo)機(jī),其中宿主計算機(jī)上安裝有軟件開發(fā)集成工具,目標(biāo)機(jī)為ReWorks操作系統(tǒng),兩者通過網(wǎng)絡(luò)連接。宿主計算機(jī)生成可供目標(biāo)機(jī)運(yùn)行的可執(zhí)行文件,目標(biāo)機(jī)直接執(zhí)行該文件。ReDe是由華東計算技術(shù)研究所自主研發(fā)的ReWorks操作系統(tǒng)軟件開發(fā)集成工具,安裝在宿主計算機(jī)上,支持X86、ARM、PowerPC等多種目標(biāo)機(jī)平臺,主要包括配置、工程管理、編輯、交叉編譯、引導(dǎo)、調(diào)試等工具。本文軟件開發(fā)和調(diào)試目標(biāo)機(jī)為中電32所生產(chǎn)的通信處理板卡,采用ReWorks操作系統(tǒng)和集成開發(fā)環(huán)境ReDe。

在目標(biāo)機(jī)上運(yùn)行可執(zhí)行文件之前,需配置目標(biāo)機(jī)參數(shù),包括目標(biāo)機(jī)調(diào)試網(wǎng)口IP地址,目標(biāo)機(jī)上軟件的啟動方式。用于信息交互的目標(biāo)機(jī)擁有多個網(wǎng)口,其中一個網(wǎng)口作為調(diào)試網(wǎng)口與宿主計算機(jī)連接,剩余網(wǎng)口與其他軟件單元通信。調(diào)試網(wǎng)口通過指令esetifconfig設(shè)置,與宿主計算機(jī)位于同一網(wǎng)段,剩余網(wǎng)口可通過指令直接設(shè)置也可以在軟件初始化時設(shè)置。ReWorks有兩種啟動方式:網(wǎng)絡(luò)啟動和硬盤啟動,通過指令設(shè)置。

ReDe中軟件開發(fā)過程如下:

(1)在ReDe中對編寫好的工程源代碼進(jìn)行構(gòu)建,生成的可執(zhí)行文件

(2)將可執(zhí)行文件發(fā)送到ReWorks目標(biāo)板卡上??赏ㄟ^兩種方式進(jìn)行:一是在ReDe文件視圖上將可執(zhí)行文件所在文件夾設(shè)為TFTP文件路徑,啟動目標(biāo)板卡后通過命令“l(fā)oad $al;g”,使ReWorks以網(wǎng)絡(luò)的方式啟動應(yīng)用程序;二是在宿主計算機(jī)使用FTP工具將.bin可執(zhí)行文件拷貝到ReWorks系統(tǒng)C盤目錄下,重啟目標(biāo)機(jī)后ReWorks從硬盤啟動應(yīng)用程序。

需要在ReDe對開發(fā)的程序進(jìn)行程序調(diào)試時,需要在項目配置文件中開啟“允許程序調(diào)試連接”,重構(gòu)項目,在目標(biāo)機(jī)啟動重構(gòu)后的可執(zhí)文件后,在宿主計算機(jī)進(jìn)行調(diào)試。

結(jié)語

通過文中的分析表明ReWorks操作系統(tǒng)能夠很好地滿足信息交互軟件設(shè)計需求,同時實踐結(jié)果證明了ReWorks下開發(fā)信息交互軟件實現(xiàn)開發(fā)過程簡單,在實時性、大數(shù)據(jù)快速傳輸方面表現(xiàn)良好。

參考文獻(xiàn)

[1]王小勇,鄭朝輝,蔡紅霞,等.基于ReWorks平臺的SD卡驅(qū)動程序設(shè)計[J]. 現(xiàn)代電子技術(shù),2011(12):86-88,92.

[2]黃鑫.Reworks上下文切換在Tricore上的實現(xiàn)[J].計算機(jī)工程,2011(S1):368-370.

[3]周向爭.基于ReWorks操作系統(tǒng)的自動檢票機(jī)研究[J]. 計算機(jī)應(yīng)用與軟件,2013(5):211-215+286.

[4]董巍,馬云.基于ReWorks操作系統(tǒng)的實時多任務(wù)程序設(shè)計[J]. 中國新技術(shù)新產(chǎn)品,2013(9):53.

[5]陳杰,谷世紅.基于ReWorks嵌入式操作系統(tǒng)的SNMP協(xié)議實現(xiàn)[J]. 電子技術(shù)與軟件工程,2014(14):211-212.

[6]王雯雋.嵌入式操作系統(tǒng)ReWorks中USB接口軟件的設(shè)計與實現(xiàn)[D].華東師范大學(xué),2005.

猜你喜歡
多任務(wù)
異構(gòu)混合云服務(wù)下的多任務(wù)算力度量方法
數(shù)字時代的注意困境:媒體多任務(wù)的視角*
結(jié)合自監(jiān)督學(xué)習(xí)的多任務(wù)文本語義匹配方法
面向多任務(wù)的無人系統(tǒng)通信及控制系統(tǒng)設(shè)計與實現(xiàn)
基于中心化自動加權(quán)多任務(wù)學(xué)習(xí)的早期輕度認(rèn)知障礙診斷
基于判別性局部聯(lián)合稀疏模型的多任務(wù)跟蹤
電測與儀表(2016年5期)2016-04-22
一類完全由內(nèi)積構(gòu)造的多任務(wù)核的幾個性質(zhì)
基于單片機(jī)應(yīng)用系統(tǒng)的多任務(wù)程序結(jié)構(gòu)設(shè)計
利他主義下科技企業(yè)孵化器多任務(wù)激勵研究
东丽区| 定远县| 仙桃市| 武陟县| 大安市| 青铜峡市| 绵竹市| 伊春市| 南澳县| 屏东县| 遵义市| 永清县| 东至县| 岳阳市| 西昌市| 德江县| 琼结县| 元朗区| 仁寿县| 炎陵县| 上饶县| 松江区| 柘荣县| 丰县| 融水| 江陵县| 富裕县| 宜兰县| 通城县| 灵石县| 织金县| 福建省| 科尔| 河南省| 六盘水市| 政和县| 湘乡市| 铜川市| 盐源县| 西昌市| 绥宁县|