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

?

一種基于Tilcon的維護界面設計

2017-07-14 06:16王金龍方剛王寶欣原浩娟
電腦知識與技術 2017年17期
關鍵詞:共享內存界面設計

王金龍 方剛 王寶欣 原浩娟

摘要:介紹了VxWorks系統下嵌入式界面開發(fā)工具Tilcon的設計流程和工作方式,并針對某型武器實時維護系統功能選項多,數據刷新頻率高,實時網絡傳輸等特點,通過Tilcon界面設計工具結合VxWorks系統多任務和共享內存的處理方式完成了維護系統的界面設計。最終,通過武器系統聯合試驗,驗證了維護軟件功能的正確性和穩(wěn)定性,具備一定的工程實踐價值。

關鍵詞:Tilcon;界面設計;VxWorks;共享內存

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)17-0074-02

1背景

某型武器實時維護軟件是工作于維護計算機上專門用于設備日常維護的專用功能軟件。本文采用了基于VxWorks系統和Tilcon界面開發(fā)工具的設計方式,完成了維護軟件的功能設計,主要包括維護界面的狀態(tài)顯示,維護操作命令下發(fā)以及下位機反饋狀態(tài)的接收等功能。

VxWorks系統是Wind River公司開發(fā)的一種支持多任務處理的實時操作系統,因其高可靠性、實時性和可裁剪性,被廣泛應用于通信、軍事、航空、航天等高科技領域。Wind River提供了一種基于VxWorks系統的多媒體開發(fā)庫WindML(Wind Media Library)是,用于支持窗口圖形界面的顯示,但其功能相對簡單,不適于功能復雜的軟件界面開發(fā)。而Tilcon是一種能夠基于WindML的可視化開發(fā)環(huán)境,不僅提供了許多成熟的控件,而且操作非常簡便,避免了直接使用WindML開發(fā)界面的繁瑣過程。目前,利用Tilcon環(huán)境實現基于VxWorks系統的嵌入式界面開發(fā)已成為了一種廣泛應用的圖形界面設計方案。

本文首先介紹了利用Tilcon工具設計界面的流程,并結合了實際功能需求,分析了維護軟件設計的關鍵要點。

2基于Tilcon的界面設計流程

Tilcon開發(fā)環(huán)境主要由三部分組成,即嵌入式矢量引擎EVE(Embeded Vector Engine),應用程序API函數以及可視化界面編輯器,其中的EVE引擎可以看作是一個事件驅動的微內核,應用程序可以通過API函數與EVE引擎交互。用戶通過界面編輯器設計的應用程序界面,將保存為twd型資源文件,在實際使用過程中,通過應用程序對資源文件進行調用,完成圖形界面顯示,以下為VxWorks加載Tilcon界面的運行過程:

首先在函數體中完成窗體數據的初始化,之后將對TRT_Getlnput函數的事件響應進行循環(huán)監(jiān)視,針對不同觸發(fā)事件進行相應的事件處理,直至收到退出指令,此時,程序將退出循環(huán)、銷毀窗體數據并退出界面顯示函數。

3維護軟件設計與實現

維護軟件工作在維護計算機上,主要負責與某型系統的核心控制計算機通信以及維護界面顯示。維護軟件通過下發(fā)維護命令,使系統進入不同的維護狀態(tài);同時接收控制計算機反饋的系統狀態(tài),并將其顯示在維護界面上。按照功能的不同,維護界面可以分為維護命令部分和狀態(tài)顯示部分。

3.1維護軟件功能設計

通過對功能需求的分析,本文將維護軟件將劃分為三個任務來實現,分別負責維護界面的顯示任務RCS_MaintDisp、網絡數據接收任務RCS_LanRecv和網絡數據發(fā)送任務RCS_Lan-Send。

3.2網絡數據的收發(fā)

VxWorks提供了完備的網絡功能,特別適用于提供嵌入式網絡傳輸功能。VxWorks的網絡層次結構主要分為應用程序層、協議接口層、多路復合層、鏈路層,其中,軟件開發(fā)人員只需了解應用層中Socket函數的調用方法,而不需要了解協議中具體的實現方式。

由于維護計算機和控制計算機間的硬件電路采用點對點的連接方式,因此無需通過TCP協議中的握手過程來確認服務器和客戶端的連接,因此維護軟件可以直接采用UDP協議進行數據傳輸。

維護軟件的網絡數據收發(fā)是通過創(chuàng)建一個接收任務和一個發(fā)送任務實現的,發(fā)送任務首先完成數據初始化以及客戶端的創(chuàng)建,根據定時器觸發(fā),定時向控制計算機創(chuàng)建的服務器發(fā)送報文;接收任務完成了服務器的創(chuàng)建和相應數據的初始化后,除了收到控制計算機發(fā)送過來的報文數據,將一直處在掛起狀態(tài)。相較于使用單任務,在網絡任務中建立一個客戶端也可以與控制計算機的服務器完成網絡數據的收發(fā)工作,但將通信工作分為收發(fā)兩個任務的方式可以使軟件編寫更加簡單。

3.3臨界段數據的保護

維護界面顯示任務RCS_MaintDisp和網絡傳輸任務間存在數據交流。VxWorks系統中提供了多種任務間交流的方式,其中包括共享內存、信號量、消息隊列和管道以及網絡套接字等。其中,共享內存是任務之間的一種簡單、快捷的數據交流方式。

界面顯示任務和網絡發(fā)送任務之間共享發(fā)送報文緩存空間SendPacket,其中,界面顯示任務為生產者而網絡發(fā)送任務為消費者。當人工操作維護界面下發(fā)維護命令后,界面顯示任務將對共享空間SendPacket進行異步寫人操作,由于網絡發(fā)送任務是以固定周期定時發(fā)送數據的,而人工下發(fā)命令時機不確定,因此可能存在異步寫入數據過程中,發(fā)送任務搶奪了CPU控制權,開始讀取共享內存發(fā)送數據報,導致錯誤報文出現。因此,我們需要對共享資源進行保護,常用的保護手段包括禁止中斷、禁止CPU資源搶占以及信號量互斥等方式。其中,信號量互斥是保護任務間共享內存最好的方式,相比于禁止搶占,互斥信號量提供了更精確的互斥顆粒度,僅對與共享資源相關的任務進行限制。VxWorks系統提供了二進制信號量、互斥信號量以及計數信號量三種不同形式的信號量,其中,互斥信號量是針對互斥事件對普通二進制信號量的優(yōu)化,特別適合實現對共享資源的保護。

雖然接收任務和界面顯示任務也存在內存共享,但是由于寫接收報文緩存的時間要遠小于維護界面刷新的時間,因此無需對共享數據段進行保護。

3結束語

本文梳理某型武器實時維護系統的設計需求及功能布局,通過Tilcon界面設計工具開發(fā)流程和工作流程,并結合維護軟件中網絡數據的收發(fā)和共享數據段保護的設計要點進行了詳盡的闡述,具備一定的工程實踐價值。

猜你喜歡
共享內存界面設計
《京燕兒》APP界面設計
中醫(yī)養(yǎng)生APP界面設計
“共享員工”平臺界面設計
中國傳統元素在界面設計中的應用
基于共享內存的過約束多自由度振動臺解耦控制方法
面向智能手機的UI界面設計
手機UI界面設計中視覺藝術元素的構成
通過QT實現進程間的通信
基于PCI總線的多處理器協同機制研究
一種高效RTAI 共享內存管理層的研究與實現*
仙居县| 东海县| 萨迦县| 东丽区| 南木林县| 宁晋县| 西安市| 沂水县| 尼木县| 根河市| 遂平县| 宁陕县| 张家港市| 安化县| 凤山市| 五台县| 崇明县| 莆田市| 获嘉县| 江阴市| 林口县| 栖霞市| 祁东县| 青川县| 中方县| 成武县| 黔西| 临西县| 台中市| 开江县| 双鸭山市| 措勤县| 柘荣县| 黄龙县| 瓦房店市| 绿春县| 宁河县| 开平市| 汶川县| 紫阳县| 元朗区|