基于嵌入式的Tilcon用户图形界面设计与开发
VxWorks是高性能嵌入式实时操作系统。它以良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域。为满足复杂图形界面用户需求,基于VxWorks嵌入式操作系统可以使用TiIcon图形开发工具,在Tornado环境下配置图形开发库WindML,而Tilcon集成大量成熟控件,无需调用低级的图形函数去画线填充,用拖动控件的方式构造自己的图形应用,极大地简化了开发过程。
基于上述各个软件工具的开发特点,提出一种基于嵌入式图形开发的方案,该开发方法适用于嵌入式系统WindRiver VxWorks,利用Tilcon与Tornado集成开发环境之间的无缝联接,实现了嵌入式实时操作系统下图形的开发。
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所示。
该实例创建了一个水表窗口,有四个表盘和表盘控制操作按钮及水表数据的显示等控件。该软件与智能水表电路板可以实现真正意义上的嵌入式图形开发和控制,具有实际应用价值。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论