Tilcon實(shí)時(shí)開(kāi)發(fā)環(huán)境是一種多平臺用戶(hù)界面開(kāi)發(fā)工具,用來(lái)開(kāi)發(fā)健壯、高度交互性的用戶(hù)界面,用戶(hù)運用它能夠快速、方便地開(kāi)發(fā)出令人滿(mǎn)意的圖形界面應用程序,所開(kāi)發(fā)的程序不需要修改代碼就可以從一個(gè)操作系統移植到另一個(gè)操作系統之上。 VxWorks是高性能嵌入式實(shí)時(shí)操作系統。它以良好的可靠性和卓越的實(shí)時(shí)性被廣泛地應用在通信、軍事、航空、航天等高精尖技術(shù)及實(shí)時(shí)性要求極高的領(lǐng)域。為滿(mǎn)足復雜圖形界面用戶(hù)需求,基于VxWorks嵌入式操作系統可以使用TiIcon圖形開(kāi)發(fā)工具,在Tornado環(huán)境下配置圖形開(kāi)發(fā)庫WindML,而Tilcon集成大量成熟控件,無(wú)需調用低級的圖形函數去畫(huà)線(xiàn)填充,用拖動(dòng)控件的方式構造自己的圖形應用,極大地簡(jiǎn)化了開(kāi)發(fā)過(guò)程。 基于上述各個(gè)軟件工具的開(kāi)發(fā)特點(diǎn),提出一種基于嵌入式圖形開(kāi)發(fā)的方案,該開(kāi)發(fā)方法適用于嵌入式系統WindRiver VxWorks,利用Tilcon與Tornado集成開(kāi)發(fā)環(huán)境之間的無(wú)縫聯(lián)接,實(shí)現了嵌入式實(shí)時(shí)操作系統下圖形的開(kāi)發(fā)。 1 VxWork,Tornado及Tilcon之間的層次關(guān)系 Tornado就是為開(kāi)發(fā)VxWorks應用系統提供的集成開(kāi)發(fā)環(huán)境,Tornado中包含的工程管理軟件,可以將用戶(hù)自己的代碼與VxWorks的核心有效地組合起來(lái),可以按用戶(hù)的需要裁剪配置VxWorks內核;VxSim原型仿真器可以讓程序員不用目標機的情況下,直接開(kāi)發(fā)系統原型,做出系統評估;功能強大的CrossWind調試器可以提供任務(wù)級和系統級的調試模式,可以進(jìn)行多目標機的聯(lián)調;優(yōu)化分析工具可以幫助程序員從多種方式真正地觀(guān)察、跟蹤系統的運行,排除錯誤,優(yōu)化性能。 VxWorks在此指的是主機上的Tornado集成開(kāi)發(fā)環(huán)境編譯生成的目標機上可執行代碼IMAGE,即是可裁剪的VxWorks操作系統鏡像文件。它與DOS的*.EXE文件類(lèi)似,可被靜態(tài)或動(dòng)態(tài)鏈接,在開(kāi)發(fā)階段可動(dòng)態(tài)地下載目標文件,并與其他目標文件動(dòng)態(tài)鏈接;在成品階段是采用靜態(tài)鏈接的,產(chǎn)品上電后立即與其他目標文件鏈接。 Tornado是一套強大的圖形化嵌入式集成開(kāi)發(fā)環(huán)境,它的開(kāi)發(fā)系統包括三個(gè)高度集成的部分:一是,運行在主機和目標機上的功能強大的交叉開(kāi)發(fā)工具和實(shí)用程序;二是,運行在目標機上的高性能、可裁剪的實(shí)時(shí)操作系統VxWorks;三是,連接主機和目標機的多種通信方式,如串行口、以太網(wǎng)、仿真器或其他通信手段相聯(lián)系。 Tilcon實(shí)時(shí)開(kāi)發(fā)環(huán)境是一種多平臺用戶(hù)界面開(kāi)發(fā)解決方案,可以用來(lái)開(kāi)發(fā)健壯的、高度交互性的用戶(hù)界面。Tilcon開(kāi)發(fā)系統包括三個(gè)基本組成部分:Tilcon圖形引擎,平臺無(wú)關(guān)的API和一個(gè)可視化圖形界面設計工具——Tilcon圖形編輯器。 在Tornado開(kāi)發(fā)環(huán)境下,首先根據自己的應用和目標機的需要,對VxWorks模塊進(jìn)行配置,包括:C++模塊、圖形模塊、目標機硬件模塊、操作系統模塊等;其次選擇VxWorks鏡像類(lèi)型,包括RAM,ROM,Rom-Compress等;再次構造VxWorks鏡像,最后引導Vx-Works鏡像,生成目標加上所需的VxWorks鏡像文件。在Tilcon開(kāi)發(fā)環(huán)境下實(shí)現圖形界面的設計,包括拖拉所需的控件及各個(gè)控件的驅動(dòng)代碼,然后生成圖形庫文件;再根據Tornado與Tilcon之間的無(wú)縫連接關(guān)系,將Tilcon生成的圖形庫文件加載到Tornado環(huán)境中,從而實(shí)現嵌入式下的圖形開(kāi)發(fā)。它們的層次關(guān)系如圖1所示。 2 嵌入式圖形開(kāi)發(fā)步驟 2.1 Tilcon系統環(huán)境配置 在進(jìn)行圖形設計之前,將嵌入式系統開(kāi)發(fā)環(huán)境配置好,首先要在VxWorks實(shí)時(shí)操作系統下正確運行Til-con矢量圖形引擎,必須在Image鏡像文件中加載幾種組件支持,即:組件C++Components所有子項、WindML媒體庫組件。其次,IDS應用程序模型需要tlncore.o和tlnapi.o目標靜態(tài)庫文件支持,它們可以通過(guò)Tilcon附帶提供的Scalable.exe可執行文件來(lái)生成,在運行Scalable.exe之前還需選擇好處理器類(lèi)型以及VxWorks版本信息并保證Tilcon能準確定位到目標機文件信息。再次,在Tornado的Downloadable工程項目中配置編譯環(huán)境C/C++ Compile和Micros。最后,在此工程項目中添加應用程序。 2.2 Tilcon運行機理 首先調用TRT_Start應用程序接口函數,此時(shí)打開(kāi)VxWorks與TiIcon之間的信息通道,然后調用TRT_WindowLoad函數開(kāi)始Tilcon圖形界面窗口的初始化操作,并加載和顯示窗口文件ID;隨后調用TRT_WindowDisplay函數,顯示剛才加載的圖形窗口及其相關(guān)的子窗口和對話(huà)框;接著(zhù)進(jìn)入主框架循環(huán)區域,同時(shí)TRT_GetInput函數處于等待狀態(tài)并實(shí)時(shí)接收來(lái)自于Tilcon引擎所傳遞的界面操作事件,將其通過(guò)條件語(yǔ)句結構分發(fā)給相應的處理子函數,即用戶(hù)的具體事件處理函數。如果接收到終止信息則調用TRT_WindowDelete清除圖形用戶(hù)界面用于釋放內存,最后調用TRT_Exit函數完成退出操作。具體操作流程如圖2所示。 3 示例開(kāi)發(fā) 一個(gè)用Tileon工具開(kāi)發(fā)的智能水表軟件界面開(kāi)發(fā)實(shí)例。利用Tilcon在嵌人式VxWorks系統下,結合Tornado工具一起開(kāi)發(fā)的圖形軟件,按照嵌入式開(kāi)發(fā)流程圖的機理實(shí)現嵌入式系統下的智能水表圖形界面開(kāi)發(fā),基本框架程序如下,界面圖形如圖3所示。 該實(shí)例創(chuàng )建了一個(gè)水表窗口,有四個(gè)表盤(pán)和表盤(pán)控制操作按鈕及水表數據的顯示等控件。該軟件與智能水表電路板可以實(shí)現真正意義上的嵌入式圖形開(kāi)發(fā)和控制,具有實(shí)際應用價(jià)值。 Tileon用戶(hù)程序的基本框架及其主要代碼如下: 使用Tilcon設計好圖形界面并編寫(xiě)完用戶(hù)程序之后,就可以進(jìn)行編譯并把程序和Tilcon API鏈接起來(lái),然后整個(gè)系統就可以運行。 4 結語(yǔ) Tilcon作為嵌入式圖形開(kāi)發(fā)工具,利用Tilcon提供的Tileon圖形引擎、平臺無(wú)關(guān)的API和一個(gè)可視化圖形界面設計工具——Tilcon圖形編輯器實(shí)現界面開(kāi)發(fā)與設計。這里介紹了基于Tilcon的嵌入式操作系統圖形界面開(kāi)發(fā)中的工具,探討了利用Tilcon設界面和開(kāi)發(fā)應用程序的過(guò)程。通過(guò)示例說(shuō)明,Tilcon在功能性能方面都能滿(mǎn)足基于Vxworks的實(shí)時(shí)系統圖形界面開(kāi)發(fā)要求,是理想的嵌入式系統圖形界面快速開(kāi)發(fā)解決方案。 |