999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Tilcon的VxWorks圖形界面開發(fā)技術(shù)

2011-06-28 03:04:36張士福
艦船電子對(duì)抗 2011年4期
關(guān)鍵詞:引擎嵌入式用戶

張士福

(船舶重工集團(tuán)公司723所,揚(yáng)州 225001)

0 引 言

VxWorks是由美國(guó)風(fēng)河公司(Wind River Systems Inc.)開發(fā)的一套微內(nèi)核、高可靠、可裁減的嵌入式實(shí)時(shí)操作系統(tǒng),它以高效的實(shí)時(shí)任務(wù)調(diào)度、中斷管理等優(yōu)點(diǎn)成為航空、航天、醫(yī)療、通信等領(lǐng)域首選的操作系統(tǒng)。VxWorks開發(fā)之初并沒有提出很好的、完整的圖形顯示方案,隨著該操作系統(tǒng)應(yīng)用領(lǐng)域的不斷擴(kuò)展,風(fēng)河公司改善了圖形產(chǎn)品開發(fā)中存在的不足,提出了基于嵌入式系統(tǒng)的顯示技術(shù)風(fēng)河多媒體庫(WindML)。WindML為VxWorks操作系統(tǒng)提供對(duì)基本圖形、圖像和音頻的支持,是開發(fā)標(biāo)準(zhǔn)用戶設(shè)備驅(qū)動(dòng)程序的框架,它為用戶提供了進(jìn)行圖形界面開發(fā)的應(yīng)用程序接口(API)。利用WindML提供的API進(jìn)行圖形界面開發(fā)對(duì)開發(fā)人員要求特別高,需要編寫大量的代碼,存在開發(fā)周期長(zhǎng)、界面程序可移植性差等特點(diǎn)。針對(duì)嵌入式圖形界面開發(fā)面臨的困難,出現(xiàn)了一些第3方的圖形開發(fā)支持軟件,典型的有Tilcon、Zinc等,用戶利用這些軟件工具可以實(shí)現(xiàn)“拖-放”式的圖形界面設(shè)計(jì),把用戶從大量編碼的圖形界面開發(fā)方式中解放出來,大大簡(jiǎn)化了嵌入式系統(tǒng)的圖形界面開發(fā)過程。

本文重點(diǎn)探討Wind River VxWorks 5.5下利用Tilcon進(jìn)行窗口圖形界面開發(fā)的方法。

1 Tilcon的組成及原理

1.1 Tilcon簡(jiǎn)介

Tilcon是加拿大 Tilcon軟件公司推出的多平臺(tái)圖形用戶界面(GUI)開發(fā)工具,其界面開發(fā)包(IDS)集成開發(fā)環(huán)境能夠在 VxWorks、Linux、WinCE、QNX等嵌入式實(shí)時(shí)操作系統(tǒng)下設(shè)計(jì)出健壯且交互性極強(qiáng)的“人-機(jī)-環(huán)”應(yīng)用軟件。

Tilcon集成了大量的成熟控件,用戶無需調(diào)用C語言u(píng)glLine()等繪圖函數(shù)以畫線填充的方式來完成GUI設(shè)計(jì),極大地簡(jiǎn)化了用戶開發(fā)過程,所開發(fā)的程序不需要修改代碼就可以從一個(gè)操作系統(tǒng)移植到另一個(gè)操作系統(tǒng)上。

Tilcon可以與Tornado之間形成無縫鏈接,圖1描繪出兩者之間的交叉關(guān)系。該工具具有功能齊全、界面美觀、使用方便的特點(diǎn),開發(fā)的圖形應(yīng)用程序具有可裁剪性強(qiáng)、運(yùn)行效率高、顯示效果好等優(yōu)點(diǎn)。目前,Tilcon已廣泛應(yīng)用于航空航天、裝甲車、潛艇等應(yīng)用領(lǐng)域,得到了用戶的一致好評(píng),成為Wind River開發(fā)環(huán)境首推的圖形界面開發(fā)工具,在嵌入式領(lǐng)域有著廣泛的應(yīng)用前景。

圖1 Tilcon與VxWorks的集成開發(fā)環(huán)境Tornado的關(guān)系

1.2 Tilcon組成

Tilcon圖形界面開發(fā)系統(tǒng)主要由三部分組件組成,即嵌入式圖形界面引擎(EVE)、應(yīng)用程序接口API和可視化界面設(shè)計(jì)工具,其組成及工作原理如圖2所示。

圖2 Tilcon組成及工作原理

嵌入式圖形界面引擎是一個(gè)事件驅(qū)動(dòng)的微內(nèi)核,獨(dú)立于用戶應(yīng)用程序,其主要任務(wù)是驅(qū)動(dòng)、管理所有的用戶界面顯示及人機(jī)交互事件。用戶應(yīng)用程序僅需使用內(nèi)核提供的實(shí)時(shí)接口函數(shù),這種圖形交互界面和用戶程序相互獨(dú)立的結(jié)構(gòu)提高了用戶界面程序的可修改性、可移植性和可維護(hù)性。

應(yīng)用程序接口是一組便于理解、使用的接口函數(shù),獨(dú)立于嵌入式平臺(tái),為用戶應(yīng)用程序提供操作訪問圖形界面引擎的接口,支持控件對(duì)象的動(dòng)態(tài)創(chuàng)建、對(duì)象屬性修改等操作。

可視化界面設(shè)計(jì)工具為用戶提供便捷的界面設(shè)計(jì)環(huán)境,用戶只需對(duì)控件對(duì)象面板的控件進(jìn)行簡(jiǎn)單的“拖-放”式操作就可以構(gòu)建復(fù)雜的應(yīng)用圖形界面,所有控件的顯示風(fēng)格和功能可以通過對(duì)象屬性頁進(jìn)行方便的修改。

1.3 Tilcon工作原理

首先,用戶使用Tilcon提供的可視化界面設(shè)計(jì)工具構(gòu)建圖形界面,其以二進(jìn)制形式保存到與平臺(tái)無關(guān)的TWD文件中,用戶程序使用Tilcon API函數(shù)命令圖形引擎裝載TWD文件,并控制圖形引擎完成圖形界面的顯示。當(dāng)一個(gè)GUI事件產(chǎn)生時(shí),圖形引擎接收到事件后,根據(jù)事件類型決定直接處理或通知用戶程序處理該事件。另一方面,當(dāng)用戶程序發(fā)送API命令給Tilcon圖形引擎的命令隊(duì)列,用戶程序不需要等待這些異步的命令處理完畢就可以直接返回到自己的主要任務(wù)中,圖形引擎將負(fù)責(zé)完成這些命令的解釋處理。

2 基于Tilcon的圖形界面開發(fā)方法

利用 Tilcon進(jìn)行圖形界面開發(fā)應(yīng)用時(shí),需對(duì)WindML與Tilcon進(jìn)行相應(yīng)的配置、編譯和連接,并完成 VxWorks操作系統(tǒng)配置。基于 Tilcon的VxWorks圖形界面及應(yīng)用程序開發(fā)的主要流程如圖3所示。

圖3 基于Tilcon的VxWorks圖形界面及應(yīng)用程序開發(fā)流程

2.1 WindML配置和編譯

WindML是Wind River公司推出的多媒體支持庫,是Tilcon在VxWorks系統(tǒng)上工作運(yùn)行的基礎(chǔ)。在使用Tilcon之前必須先配置編譯WindML。

進(jìn)入 Tornado集成開發(fā)環(huán)境后,依照 Tools/WindML/Configure步驟打開相應(yīng)配置對(duì)話框,結(jié)合嵌入式系統(tǒng)的具體硬件構(gòu)成,按圖4流程配置對(duì)應(yīng)選項(xiàng),處理完成后點(diǎn)擊“Clean”清除已有編譯文件,再單擊“Build”按鈕重新生成所須OBJ文件。若這些操作還不能滿足使用要求,還可以用命令行方式配置并編譯WindM L媒體庫,如果沒有錯(cuò)誤提示信息,則會(huì)在Tornado項(xiàng)目管理區(qū)VxWorks標(biāo)簽頁中出現(xiàn)WindML組件。為檢驗(yàn)WindML媒體庫配置、編譯是否成功,按如下路徑關(guān)系$(WIND_BASE) argetsrcuglexample定位到ugldemo.c文件,并在 Tornado環(huán)境下建立Downloadable工程,經(jīng)編譯下載運(yùn)行后,如果能在目標(biāo)機(jī)上出現(xiàn)歡迎界面,則表示W(wǎng)indML操作成功。

圖4 WindML配置編譯流程

2.2 Tilcon裁減和配置

Tilcon提供了圖形引擎定制工具Scalable,利用該工具用戶可以靈活選擇工程應(yīng)用中必需的組件,除去不必要的組件,并鏈接生成較小的Tilcon內(nèi)核,減小Tilcon應(yīng)用程序?qū)ο到y(tǒng)控件的需求。

Tilcon定制的主要過程包括:首先將C:TilconTSPVXWORKS-x86 argetlib下的 obj-PENTIUMgnuTugcl文件夾復(fù)制到C:Tornado2.2 argetlib路徑下。然后啟動(dòng)配置工具Scalable,選擇VxWorks版本信息和處理器類型,并在控件選項(xiàng)中選擇所需要的控件,工具會(huì)自動(dòng)生成相應(yīng)的Makefile,點(diǎn)擊創(chuàng)建按鈕后將鏈接objPENTIUMgnuTugcl文件夾中的組件生成支持IDS應(yīng)用程序模型的目標(biāo)靜態(tài)庫文件tlncore.o和tlnapi.o。

2.3 VxWorks配置和編譯

配置和編譯好WindML和Tilcon后,根據(jù)工程應(yīng)用需要在VxWorks工程中對(duì)VxWorks進(jìn)行配置,需將C++Components、WindML媒體庫組件下的2D Graphics和Complete 2D Library子項(xiàng)以及POSIX Components組件下的 POSIX Clocks、POSIX Message Queues、POSIX Semaphores 和POSIX Timers子項(xiàng)包含進(jìn)VxWorks工程中,編譯生成VxWorks鏡像。

然后,配置Downloadable工程編譯環(huán)境。在C/C++compiler標(biāo)簽頁,具體選項(xiàng)如下:-g –mcpu=pentium–march=Pentium–nostdlib–fno-builtin–fno-defer-pop–I–IC:/Tornado2.2/target/h–IC:/tilcon/include–DCPU=PENTIUM –DTOOL_FAMILY=gnu–DTOOL=gnu –DCC_TRT_VXWORKS,這其中務(wù)必去掉-ansic選項(xiàng),因?yàn)閂xWorks可能會(huì)包含某些特殊字符信息,如果按-ansic語法進(jìn)行編譯就會(huì)出現(xiàn)錯(cuò)誤提示信息。另外,在Macros標(biāo)簽頁下的PRJ_LIBS宏選項(xiàng)中,將目標(biāo)靜態(tài)庫文件tlncore.o和tlnapi.o連接到工程中。

最后,在Bootable工程項(xiàng)目 usrAppInit.c文件中指定 Tilcon所使用的版本序列號(hào),即:putenv(“ Tilcon_5_4=/tgtsvr”)。

2.4 圖形界面設(shè)計(jì)與編輯

Tilcon窗口的開發(fā)主要通過Tilcon圖形編輯器來實(shí)現(xiàn),Tilcon圖形編輯器是一組集成的設(shè)計(jì)工具,用來輔助用戶完成圖形界面的設(shè)計(jì)。在使用Tilcon圖形編輯器構(gòu)建圖形界面的屏幕顯示時(shí),以“拖-放”的方式從工具欄添加用戶界面對(duì)象,并打開屬性框編輯對(duì)象的屬性,通過屬性項(xiàng)的設(shè)定調(diào)整對(duì)象的所有外觀效果、行為、初始狀態(tài)、文本方式、顯示焦點(diǎn)、菜單、鼠標(biāo)指針和快捷鍵等。編輯完成之后,設(shè)計(jì)的圖形界面保存為TWD文件,用戶可以點(diǎn)擊測(cè)試按鍵來檢驗(yàn)整個(gè)圖形界面的運(yùn)行效果。另外,Tilcon可以使用用戶指定的模擬數(shù)據(jù)在測(cè)試狀態(tài)下驅(qū)動(dòng)各個(gè)對(duì)象。

2.5 圖形界面應(yīng)用程序開發(fā)

使用Tilcon IDS設(shè)計(jì)好圖形界面后,便可開展相應(yīng)的圖形界面應(yīng)用程序編寫工作,基于Tilcon的應(yīng)用程序執(zhí)行流程如圖5所示。

圖5 基于Tilcon的應(yīng)用程序執(zhí)行流程

2.5.1 初始化內(nèi)核

Tilcon圖形引擎是一個(gè)小型的事件驅(qū)動(dòng)圖形處理內(nèi)核,它的任務(wù)是更新屏幕顯示。它是一個(gè)與用戶程序相互獨(dú)立的進(jìn)程,負(fù)責(zé)處理所有的屏幕顯示和用戶輸入事件。在圖形界面程序啟動(dòng)之前,用戶程序必須先初始化Tilcon圖形引擎內(nèi)核,設(shè)定操作系統(tǒng)類型Os_Env、對(duì)象空間名AppName、Licence文件路徑等參數(shù)。使用 TRT_Start函數(shù)啟動(dòng)一個(gè)Tilcon圖形引擎并與此引擎進(jìn)行通信。正確完成初始化后,應(yīng)用程序可以顯示用戶設(shè)計(jì)的界面,與用戶進(jìn)行交互。

2.5.2 加載資源文件

執(zhí)行完必要的初始化操作后,用戶程序就可以使用Tilcon API函數(shù)命令圖形引擎裝載并顯示用戶界面窗口或動(dòng)態(tài)創(chuàng)建用戶界面。首先指定窗口資源文件所在的路徑,然后通過調(diào)用 TRT_Window-Load函數(shù)把圖形界面資源文件加載到圖形引擎中,這樣用戶程序就可以通過Tilcon API和Tilcon圖形引擎進(jìn)行通信來控制圖形界面的顯示和刷新。

2.5.3 窗口顯示管理

窗口管理主要指對(duì)已加載到圖形引擎中的窗口進(jìn)行顯示、隱藏、刪除等操作管理。Tilcon提供了一系列對(duì)窗口管理的API函數(shù),調(diào)用T RT_Window-Display函數(shù)可實(shí)現(xiàn)把用戶定義的窗口顯示到屏幕上的操作。當(dāng)不再需要某個(gè)窗口的顯示時(shí),可通過調(diào)用T RT_Window Hide函數(shù)把窗口隱藏起來,或調(diào)用T RT_WindowDelete函數(shù)直接把窗口刪除,刪除窗口的同時(shí),所有窗口上的控件也會(huì)被一起清除。

2.5.4 窗口事件處理

基于Tilcon圖形界面用戶程序是通過一個(gè)主事件循環(huán)來處理相應(yīng)窗口事件,實(shí)現(xiàn)人機(jī)交互功能。在主循環(huán)中,T RT_GetInput函數(shù)等待直到圖形引擎報(bào)告一個(gè)事件,調(diào)用窗口事件處理函數(shù)進(jìn)行處理。

用戶可以配置TRT_GetInput函數(shù)接收來自其它進(jìn)程的消息,或設(shè)置為等待某種事件信號(hào)量的到來,這使得用戶程序可以和其它進(jìn)程進(jìn)行通信。當(dāng)某個(gè)特定的事件出現(xiàn)時(shí),用戶程序會(huì)中止循環(huán)并調(diào)用T RT_Exit函數(shù)通知圖形引擎結(jié)束進(jìn)程。

2.5.5 應(yīng)用示例

用Tilcon圖形開發(fā)工具在VxWorks操作系統(tǒng)下,結(jié)合T ornado工具開發(fā)的一個(gè)示波器面板如圖6所示。模擬測(cè)試時(shí),Tilcon畫圖對(duì)象Charts畫正弦曲線,對(duì)參數(shù)進(jìn)行設(shè)置,可看到不同的測(cè)試效果。

圖6 示波器面板設(shè)計(jì)

3 結(jié)束語

Tilcon作為Wind River新支持的革命性圖形界面開發(fā)工具,為用戶提供了功能齊全的控件,擁有出色的高效率、模塊化和可裁剪交互面板設(shè)計(jì)能力,其頂層應(yīng)用界面與底層功能驅(qū)動(dòng)代碼相互獨(dú)立,因此具備很強(qiáng)的跨平臺(tái)移植能力,將開發(fā)人員從繁瑣的嵌入式系統(tǒng)界面開發(fā)中脫離出來,正被廣泛地應(yīng)用到嵌入式實(shí)時(shí)操作系統(tǒng)領(lǐng)域。本文介紹了Tilcon圖形界面開發(fā)工具,探討了利用該工具設(shè)計(jì)用戶界面及開發(fā)應(yīng)用程序的過程。目前,Tilcon已在某艦指控系統(tǒng)軟件開發(fā)中得到應(yīng)用,工程應(yīng)用表明,Tilcon在功能、性能方面都能滿足基于VxWorks的實(shí)時(shí)系統(tǒng)圖形界面開發(fā)要求,是理想的嵌入式系統(tǒng)圖形界面開發(fā)解決方案。

[1]Wind River Systems Inc.VxWorks Programmer's Guide 5.5[M].USA,Alameda:Wind River Systems Inc,2002.

[2]Tilcon Software Ltd.Tilcon Programmer's Guide[M].CA,Ottawa:Tilcon Software Ltd,2005.

[3]Wind River Systems Inc.WindML SDK Programmer's Guide 3.0[M].USA,Alameda:Wind River Systems Inc,2002.

猜你喜歡
引擎嵌入式用戶
搭建基于Qt的嵌入式開發(fā)平臺(tái)
藍(lán)谷: “涉藍(lán)”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame開發(fā)
如何獲取一億海外用戶
Altera加入嵌入式視覺聯(lián)盟
主站蜘蛛池模板: 欧美狠狠干| 国产极品粉嫩小泬免费看| 久久无码免费束人妻| 毛片大全免费观看| 97免费在线观看视频| 国产成人综合久久精品尤物| 亚洲日韩精品综合在线一区二区| 国产亚洲一区二区三区在线| 国产成人一区在线播放| 精品视频91| 69av在线| 国产精品尹人在线观看| 中文字幕在线永久在线视频2020| 精品国产香蕉伊思人在线| a在线观看免费| 被公侵犯人妻少妇一区二区三区 | 波多野结衣无码AV在线| 97超爽成人免费视频在线播放| 欧美中出一区二区| 亚洲午夜片| 天堂av高清一区二区三区| 污网站在线观看视频| 国产乱子伦一区二区=| 国产福利一区二区在线观看| 亚洲AV无码一区二区三区牲色| 国产激情第一页| 亚洲女人在线| 久久精品视频一| 永久免费精品视频| 2021精品国产自在现线看| 欧美在线伊人| 中文字幕精品一区二区三区视频 | 91亚洲精品第一| 午夜欧美理论2019理论| 欧美精品xx| 免费啪啪网址| 香蕉色综合| 国产剧情一区二区| 国产成人在线无码免费视频| 亚洲国产精品久久久久秋霞影院| 一区二区三区国产精品视频| 欧美日韩高清在线| 日本欧美一二三区色视频| 精品视频福利| 午夜影院a级片| 啊嗯不日本网站| a亚洲天堂| 欧美一级99在线观看国产| 国产精品无码一二三视频| 欧美A级V片在线观看| 伊在人亚洲香蕉精品播放| 国产成人福利在线| 国产成人av一区二区三区| 国产精品久久久久无码网站| 久久久久无码国产精品不卡| 国产成人综合亚洲网址| 丁香五月激情图片| 四虎国产成人免费观看| Jizz国产色系免费| 日韩视频福利| 亚洲一区二区日韩欧美gif| 在线日韩日本国产亚洲| 免费无码在线观看| 潮喷在线无码白浆| 亚洲欧美日韩另类在线一| 色综合综合网| a级毛片免费看| 国产成+人+综合+亚洲欧美| 亚洲日韩每日更新| 亚洲AV人人澡人人双人| 色噜噜狠狠狠综合曰曰曰| 欧美成人看片一区二区三区| 色爽网免费视频| 在线观看精品自拍视频| 精品免费在线视频| 在线观看精品自拍视频| 亚洲精品国产日韩无码AV永久免费网| 国产女人水多毛片18| 成色7777精品在线| 国产真实乱子伦精品视手机观看| 精品国产网站| 久久这里只有精品8|