EDN China > 设计实例 > 嵌入式系统 > 操作系统 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) VxWorks下基于Tilcon的图形界面显示方案

付琦?? 蒋健?? 北京理工大学?? 姚鹰?? 中国船舶系统工程部?? 2013年04月09日 ?? 收藏0
VxWorks是由美国风河公司开发的一套微内核、高可靠性、可裁剪的嵌入式多任务实时操作系统,是现在所有独立于处理器的操作系统中最具特色的一个,具有多达1800多个功能强大的应用程序接口,近年来以其出色的可靠性和实时性广泛地应用于医疗、航空、船舶、车载电子等领域。

如同大部分嵌入式操作系统一样,VxWorks并没有集成完善的用户图形开发界面,但随着嵌入式操作系统的广泛应用,用户对产品各个方面的要求越来越高,工程师们也开始将项目的目标定位成“以人为本”,开发友好且健壮的人机界面得到空前的重视。风河公司为此开发出可选组件WindML(WindRiver Multimedia Library),WindML作为VxWorks的媒体库为用户提供了进行图形界面开发的丰富的API,也为用户提供了一个实用性极强的图形硬件接口。尽管利用WindML可以进行基于代码的各种用户界面的开发,但用户可以利用更实用的Tilcon工具,实现“拖-放”式的图形界面设计,把用户从大量编码的图形界面开发方式中解放出来,大大简化了嵌入式系统图形界面的开发过程[1]。

WindML

1.WindML介绍

WindML(WindRiver Multimedia Library)是运行在嵌入系统中的多媒体应用;为各种体系提供基本图形、视频和音频技术。WindML是独立于操作系统的图形界面引擎,它可实现尽可能小的内存占用,同时提供最佳性能。WindML由两个组件组成:一个软件开发工具箱(SDK),为各种平台开发与硬件无关的应用开发服务;一个驱动程序开发工具箱(DDK),用于实现驱动程序。二者提供用于图形界面开发的丰富的API,包括区域管理,文字显示,颜色管理,视频支持,特殊图像格式处理等方面,使开发人员在Wind River的实时操作系统上建造丰富的、全面的、可嵌入的GUI成为可能,同时保证较低系统开销和快速市场化[2]。其中DDK包括16位Unicode字体支持;使用灰度字体、true type 字体、防混淆和字体的子像素渲染这些增强特性。在体系结构上可以理解为,WindML将软件、硬件隔离开,实现脱离软硬件环境的更稳定高效的图形界面开发。如图1所示,其层次结构从上到下依次为:软件——SDK——DDK——硬件,依靠这种结构可以进行各种多媒体应用进行模块化开发。

VxWorks下基于Tilcon的图形界面显示方案

图1:WindML结构关系图。

WindML具有如下优点:极小内存占用,容易移植到定制硬件上,高性能图形输出,直观的、完善的API,灵活的内存管理,事件路由,基本窗口创建,ISO 8 位和Unicode 16-位字体支持,带有抗混淆支持的AGFA 单型第三方字体引擎插件选项,多线程支持,Alpha混合支持,视频叠加支持,JPEG图像支持,用于Tornado II的VxSim模拟程序支持[3]。

2.WindML的配置及编译

利用Tilcon进行应用程序图形界面开发,WindML的配置及编译都是首要的前提条件,还需要将编译后的WindML加载到VxWorks的内核,最终实现其“承上启下”的功能。安装WindML不会影响原Tornado安装,安装后WindML的配置工具和组件会自动出现在IDE中。配置WindML需要在VxWorks的集成开发环境Tornado中进行,依照Tools /WindML/Configure 步骤打开相应配置对话框,如图2所示。

需要强调的是,位图字体选项卡中,提供了可选的Unicode 16-位字体支持,可根据具体需要增加或是裁剪字库,精简嵌入式系统的内核。确定需要用的多媒体设备,配置好WindML后就是编译多媒体库,对于每一次重要的修改应先选择clean清除原本的多媒体库内容,再进行编译,而工程中涉及到的对字体的修改只需要直接编译即可。

VxWorks下基于Tilcon的图形界面显示方案

图2:WindML配置选项。

Tilcon图形开发软件介绍

1.Tilcon简介

Tilcon Interface Development Suite(IDS)为多平台用户接口开发提供解决方案,是目前最先进的VxWorks下实时操作系统图形开发工具,它集成了大量成熟控件,用户只需要从工具栏中拖动控件,即可实现简单的界面开发,它开发的图形应用程序具有可裁剪性强、运行效率高、显示效果好等优点,因此Tilcon已成为Wind River 开发环境首推的图形界面开发工具。Tilcon的另一个巨大的优点就是它的程序代码不需要修改就可以从VxWorks上移植到Windows上运行,这极大地方便了调试过程,并且Tilcon支持Windows、L inux宿主机开发环境;同时还它可以支持Windows 98 /2000 /ME /NT/XP、W in2dows CE、Linux、VxWorks、QNX等多种目标操作系统的交叉开发。

2. Tilcon组件构成

Tilcon开发系统由三个主要部件构成:Tilcon嵌入式向量引擎(EVE),平台无关的API和可视化设计工具Tilcon Interface Builder——Tilcon图形编辑器,如图3所示。EVE 是一个小的、事件驱动的内核,独立于应用程序的进程,其主要任务是驱动、管理所有的用户界面显示及人机交互事件。Tilcon的这种分离设计方式,使得应用程序只需要专注于实现自己核心的实时应用。

第二个部件是平台无关的复杂的API调用,API是人机交互的接口函数,这些函数可以动态创建对象,可以控制对象属性,无论在Tilcon图形编辑器上可以直接修改还是不能直接修改的属性,利用丰富的API函数都可以实现。

Tilcon Interface Builder为用户提供了便捷的图形界面设计环境,将所需要的控件拖拽到需要放置的位置即可,并且所有控件的显示风格和功能可以通过对象属性页进行方便地修改。IDS用类似VB的方式构建界面,并生成不含代码的窗口描述文件,窗口中的每一个对象都有自己的ID,Value,还有其他属性,如:是否模糊,对象之间是否关联,按钮的抬起或按下,指针指向的数值等等。这些属性通过EVE引擎,调用API,都可以读取和控制,从而得知窗口的改变或控制窗口的行为,该API与C/C++完全兼容,且平台无关,开发人员只需关注程序的逻辑与实现,而不必考虑其他[4]。

VxWorks下基于Tilcon的图形界面显示方案

图3:Tilcon的体系结构。

从图3可以看出用户的应用程序,或者说程序员开发的应用程序,完全的C程序,通过API与引擎通信,用户界面也是通过引擎呈现到用户屏幕面前,两者通过引擎结合。不难看出,由于引擎的存在,不管是用户界面,合适用户的应用程序,都可以做到平台无关,只需针对不同的平台做不同的设置,因而大大减少了重复劳动,用户界面和程序代码都可重复利用,缩短了开发周期和成本。由于IDS可以直接导入图片,因此用户界面也可以很漂亮。

《电子设计技术》网站版权所有,谢绝转载


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

VxWorks? 图形用户界面? Tilcon? WindML编码?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈