1 VxWork,Tornado及Tilcon之间的层次关系
Tornado就是为开发VxWorks应用系统提供的集成开发环境,Tornado中包含的工程管理软件,可以将用户自己的代码与VxWorks的核心有效地组合起来,可以按用户的需要裁剪配置VxWorks内核;VxSim原型仿真器可以让程序员不用目标机的情况下,直接开发系统原型,做出系统评估;功能强大的CrossWind调试器可以提供任务级和系统级的调试模式,可以进行多目标机的联调;优化分析工具可以帮助程序员从多种方式真正地观察、跟踪系统的运行,排除错误,优化性能。
VxWorks在此指的是主机上的Tornado集成开发环境编译生成的目标机上可执行代码IMAGE,即是可裁剪的VxWorks操作系统镜像文件。它与DOS的*.EXE文件类似,可被静态或动态链接,在开发阶段可动态地下载目标文件,并与其他目标文件动态链接;在成品阶段是采用静态链接的,产品上电后立即与其他目标文件链接。
Tornado是一套强大的图形化嵌入式集成开发环境,它的开发系统包括三个高度集成的部分:一是,运行在主机和目标机上的功能强大的交叉开发工具和实用程序;二是,运行在目标机上的高性能、可裁剪的实时操作系统VxWorks;三是,连接主机和目标机的多种通信方式,如串行口、以太网、仿真器或其他通信手段相联系。
Tilcon实时开发环境是一种多平台用户界面开发解决方案,可以用来开发健壮的、高度交互性的用户界面。Tilcon开发系统包括三个基本组成部分:Tilcon图形引擎,平台无关的API和一个可视化图形界面设计工具——Tilcon图形编辑器。
在Tornado开发环境下,首先根据自己的应用和目标机的需要,对VxWorks模块进行配置,包括:C++模块、图形模块、目标机硬件模块、操作系统模块等;其次选择VxWorks镜像类型,包括RAM,ROM,Rom-Compress等;再次构造VxWorks镜像,最后引导Vx-Works镜像,生成目标加上所需的VxWorks镜像文件。在Tilcon开发环境下实现图形界面的设计,包括拖拉所需的控件及各个控件的驱动代码,然后生成图形库文件;再根据Tornado与Tilcon之间的无缝连接关系,将Tilcon生成的图形库文件加载到Tornado环境中,从而实现嵌入式下的图形开发。它们的层次关系如图1所示。
2 嵌入式图形开发步骤
2.1 Tilcon系统环境配置
在进行图形设计之前,将嵌入式系统开发环境配置好,首先要在VxWorks实时操作系统下正确运行Til-con矢量图形引擎,必须在Image镜像文件中加载几种组件支持,即:组件C++Components所有子项、WindML媒体库组件。其次,IDS应用程序模型需要tlncore.o和tlnapi.o目标静态库文件支持,它们可以通过Tilcon附带提供的Scalable.exe可执行文件来生成,在运行Scalable.exe之前还需选择好处理器类型以及VxWorks版本信息并保证Tilcon能准确定位到目标机文件信息。再次,在Tornado的Downloadable工程项目中配置编译环境C/C++ Compile和Micros。最后,在此工程项目中添加应用程序。
2.2 Tilcon运行机理
首先调用TRT_Start应用程序接口函数,此时打开VxWorks与TiIcon之间的信息通道,然后调用TRT_WindowLoad函数开始Tilcon图形界面窗口的初始化操作,并加载和显示窗口文件ID;随后调用TRT_WindowDisplay函数,显示刚才加载的图形窗口及其相关的子窗口和对话框;接着进入主框架循环区域,同时TRT_GetInput函数处于等待状态并实时接收来自于Tilcon引擎所传递的界面操作事件,将其通过条件语句结构分发给相应的处理子函数,即用户的具体事件处理函数。如果接收到终止信息则调用TRT_WindowDelete清除图形用户界面用于释放内存,最后调用TRT_Exit函数完成退出操作。具体操作流程如图2所示。
3 示例开发
一个用Tileon工具开发的智能水表软件界面开发实例。利用Tilcon在嵌人式VxWorks系统下,结合Tornado工具一起开发的图形软件,按照嵌入式开发流程图的机理实现嵌入式系统下的智能水表图形界面开发,基本框架程序如下,界面图形如图3所示。
该实例创建了一个水表窗口,有四个表盘和表盘控制操作按钮及水表数据的显示等控件。该软件与智能水表电路板可以实现真正意义上的嵌入式图形开发和控制,具有实际应用价值。