• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

      2016-12-26 09:41占海燕吳海坤
      關(guān)鍵詞:多任務(wù)

      占海燕++吳海坤

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

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

      中圖分類(lèi)號(hào):TP31 文獻(xiàn)標(biāo)識(shí)碼:A

      0.引言

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

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

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

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

      在ReWorks操作系統(tǒng)中,任務(wù)是可以單獨(dú)執(zhí)行的線(xiàn)程,具有唯一的任務(wù)編號(hào),占用獨(dú)立的CPU和系統(tǒng)資源,一個(gè)時(shí)刻獨(dú)立占用處理器時(shí)間。任務(wù)信息包含在一組數(shù)據(jù)結(jié)構(gòu)中,由名稱(chēng)、優(yōu)先級(jí)、狀態(tài)、棧信息和執(zhí)行上下文組成。ReWorks任務(wù)包括Posix類(lèi)型和VxWorks類(lèi)型,各自擁有創(chuàng)建接口和相關(guān)管理接口,兩者除Posix部分管理接口可共用外,大部分管理接口不能混用,否則會(huì)導(dǎo)致接口錯(cuò)誤。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)的實(shí)時(shí)性和多任務(wù)性,ReWorks任務(wù)可以劃分為并發(fā)任務(wù)和順序任務(wù)。并發(fā)任務(wù)之間相互競(jìng)爭(zhēng),操作系統(tǒng)通過(guò)信號(hào)量、隊(duì)列來(lái)實(shí)現(xiàn)不同任務(wù)之間的同步和通信問(wèn)題。任務(wù)信息記錄在由系統(tǒng)分配與維護(hù)的一個(gè)數(shù)據(jù)結(jié)構(gòu)中。ReWorks內(nèi)核采用基于優(yōu)先級(jí)的搶占調(diào)度算法,結(jié)合時(shí)間片輪轉(zhuǎn)法以及先進(jìn)先出算法來(lái)進(jìn)行同優(yōu)先級(jí)任務(wù)的調(diào)度。在創(chuàng)建任務(wù)時(shí),必須合理使用任務(wù)的優(yōu)先級(jí)和時(shí)間片輪轉(zhuǎn)法。

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

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

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

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

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

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

      在信息交互軟件中,網(wǎng)絡(luò)和總線(xiàn)為主要的接口方式。通過(guò)網(wǎng)絡(luò)互連的軟件模塊之間,建立網(wǎng)絡(luò)連接后,采用TCP或UDP方式進(jìn)行數(shù)據(jù)通信。信息交互軟件多為控制臺(tái)應(yīng)用程序,無(wú)需進(jìn)行界面設(shè)計(jì),只在控制臺(tái)中打印必要的信息。針對(duì)信息交互軟件實(shí)時(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ò)接口、磁盤(pán)劃分、中斷設(shè)置、任務(wù)啟動(dòng)等功能。由于其他軟件單元的數(shù)據(jù)發(fā)送是不可預(yù)知的,使用中斷設(shè)置來(lái)處理。當(dāng)產(chǎn)生外部中斷時(shí)調(diào)用中斷服務(wù)程序,通知數(shù)據(jù)處理任務(wù)讀取數(shù)據(jù)。數(shù)據(jù)接收任務(wù)接收到中斷服務(wù)程序發(fā)出的通知,從網(wǎng)口接收來(lái)自其他軟件單元的數(shù)據(jù)并將數(shù)據(jù)存放到相應(yīng)數(shù)據(jù)緩沖區(qū)中。數(shù)據(jù)處理任務(wù)從接收數(shù)據(jù)緩沖區(qū)中取出需要處理的數(shù)據(jù),根據(jù)數(shù)據(jù)類(lèi)型分別進(jìn)行解析、處理、重組,然后將處理好的數(shù)據(jù)放入對(duì)應(yīng)發(fā)送數(shù)據(jù)緩沖區(qū)。數(shù)據(jù)發(fā)送任務(wù)則是從數(shù)據(jù)發(fā)送緩沖區(qū)中取出需要發(fā)送的數(shù)據(jù),增加幀頭幀尾及校驗(yàn)信息后發(fā)送到相應(yīng)目的地址。

      一般信息交互軟件過(guò)程如下:

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

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

      (3)數(shù)據(jù)處理任務(wù)接收到信號(hào)后從數(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下的信息交互軟件開(kāi)發(fā)和調(diào)試

      ReWorks操作系統(tǒng)下的軟件開(kāi)發(fā)需使用相應(yīng)開(kāi)發(fā)環(huán)境,一般包括宿主計(jì)算機(jī)和目標(biāo)機(jī),其中宿主計(jì)算機(jī)上安裝有軟件開(kāi)發(fā)集成工具,目標(biāo)機(jī)為ReWorks操作系統(tǒng),兩者通過(guò)網(wǎng)絡(luò)連接。宿主計(jì)算機(jī)生成可供目標(biāo)機(jī)運(yùn)行的可執(zhí)行文件,目標(biāo)機(jī)直接執(zhí)行該文件。ReDe是由華東計(jì)算技術(shù)研究所自主研發(fā)的ReWorks操作系統(tǒng)軟件開(kāi)發(fā)集成工具,安裝在宿主計(jì)算機(jī)上,支持X86、ARM、PowerPC等多種目標(biāo)機(jī)平臺(tái),主要包括配置、工程管理、編輯、交叉編譯、引導(dǎo)、調(diào)試等工具。本文軟件開(kāi)發(fā)和調(diào)試目標(biāo)機(jī)為中電32所生產(chǎn)的通信處理板卡,采用ReWorks操作系統(tǒng)和集成開(kāi)發(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ī)上軟件的啟動(dòng)方式。用于信息交互的目標(biāo)機(jī)擁有多個(gè)網(wǎng)口,其中一個(gè)網(wǎng)口作為調(diào)試網(wǎng)口與宿主計(jì)算機(jī)連接,剩余網(wǎng)口與其他軟件單元通信。調(diào)試網(wǎng)口通過(guò)指令esetifconfig設(shè)置,與宿主計(jì)算機(jī)位于同一網(wǎng)段,剩余網(wǎng)口可通過(guò)指令直接設(shè)置也可以在軟件初始化時(shí)設(shè)置。ReWorks有兩種啟動(dòng)方式:網(wǎng)絡(luò)啟動(dòng)和硬盤(pán)啟動(dòng),通過(guò)指令設(shè)置。

      ReDe中軟件開(kāi)發(fā)過(guò)程如下:

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

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

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

      結(jié)語(yǔ)

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

      參考文獻(xiàn)

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

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

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

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

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

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

      猜你喜歡
      多任務(wù)
      異構(gòu)混合云服務(wù)下的多任務(wù)算力度量方法
      數(shù)字時(shí)代的注意困境:媒體多任務(wù)的視角*
      結(jié)合自監(jiān)督學(xué)習(xí)的多任務(wù)文本語(yǔ)義匹配方法
      面向多任務(wù)的無(wú)人系統(tǒng)通信及控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      基于中心化自動(dòng)加權(quán)多任務(wù)學(xué)習(xí)的早期輕度認(rèn)知障礙診斷
      基于判別性局部聯(lián)合稀疏模型的多任務(wù)跟蹤
      電測(cè)與儀表(2016年5期)2016-04-22
      一類(lèi)完全由內(nèi)積構(gòu)造的多任務(wù)核的幾個(gè)性質(zhì)
      基于單片機(jī)應(yīng)用系統(tǒng)的多任務(wù)程序結(jié)構(gòu)設(shè)計(jì)
      利他主義下科技企業(yè)孵化器多任務(wù)激勵(lì)研究
      应用必备| 鲁山县| 屏山县| 乐都县| 南宁市| 新民市| 凤山县| 乌审旗| 潼南县| 左云县| 合阳县| 锦州市| 云浮市| 西充县| 靖州| 介休市| 郎溪县| 兴海县| 平陆县| 新和县| 尚义县| 翁牛特旗| 闵行区| 邵武市| 平邑县| 招远市| 鹤峰县| 将乐县| 安陆市| 辉县市| 保康县| 綦江县| 茌平县| 金湖县| 湘潭市| 信阳市| 铜梁县| 中江县| 梁山县| 大石桥市| 左权县|