Zinc——嵌入式操作系统Vxworks下的用户图形界面开发工.pdf

上传人:qwe****56 文档编号:74645412 上传时间:2023-02-27 格式:PDF 页数:5 大小:188.36KB
返回 下载 相关 举报
Zinc——嵌入式操作系统Vxworks下的用户图形界面开发工.pdf_第1页
第1页 / 共5页
Zinc——嵌入式操作系统Vxworks下的用户图形界面开发工.pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《Zinc——嵌入式操作系统Vxworks下的用户图形界面开发工.pdf》由会员分享,可在线阅读,更多相关《Zinc——嵌入式操作系统Vxworks下的用户图形界面开发工.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2 0 0 5 年第4期(总第 1 8 7期)Z i n c 一嵌入式操作系统 V x w o r k s下的用户图形界面开发工具 陈旭,李义民 (中国电子科技集团公司 第 2 7研究所,郑州 4 5 0 0 0 5)摘要本文从 z i n c的概念、结构和运行机理等方面为使用 V x w o r k s 操作系统的用户介绍了一种新的界面 开发工具,这种工具不但拥有面向对象的特点,而且拥有事件驱动的体制。它类似于W i n d o w s 下面的可视化开发 工具,使得用户开发工程得心应手。关键词z i n c;V x w o r k s;面向对象;E v e n t W i n d M L 中

2、图分类号T P 3 1 6 2 1 Z i n c的产生背景 嵌入式操作系统 V x w o r k s 具有高实时性、多任 务管理、内核小、组件可裁剪等优点,在军工、通 信、智能控制、航空航海、消费电子等众多领域广 为使用。在有些场合,基于 V x w o r k s 的应用程序运 行在所谓狭义的嵌入式设备上,这些设备只是一个 黑盒子,负责一些诸如数据交换、数据处理、智能 决策、端口分配、实时控制等时效性强的任务,通 常这种设备无需人为干预;而在很多领域,即广义 的嵌入式产 品中,少量的人机交互还是必不可少 的,这些设备需要一个 良好的人机界面。Z i n c 便是 使用在 Vx w o r

3、 k s 操作系统中的图形开发工具,它类 似可视化编程工具使用在视窗操作系统中一样,使 用 Z i n c我们可以在 V x w o r k s 操作系统下开发出功 能强大的显示界面来,从而达到复杂人机互动的目 的。Z i n c出现之前,嵌入式操作系统 Vx w o r k s 在这 方面是弱项,一定程度上限制了 V x w o r k s 这种性能 良好系统的广泛使用,Z i n c 也就是针对这种状况应 运而生的捆绑在第二代 T o rna d o集成开发环境上的 一种用户界面开发工具。2 Z i n c的基本概念 Z i n c 是 Z i n c S o f t w a r e公司的

4、产品,属于第三 方软件。Z i n c实际上是一个可扩展的面 向对象的 C+类库,它为用户应用程序创建图形用户界面搭 收稿 日期:2 0 0 4 1 1 2 2 建了一个框架,并使之运行在类似于桌面操作系统 的“事件驱动”的机制下。这些类是在用户图形库(U G L)的基础上生成的抽象层,因此 Z i n c 是独立 于硬件平台的。另外由于这些类是源代码开放的,所以用户可以编写新的类,也可以从 已存在的类中 派生出新的类,定制这些类的外观和行为。作为一个图形界面设计工具,Z i n c面向两种用 户 平 台:一 是 桌 面 操 作 系 统,例 如 Mi c r o s o ft Wi n d o

5、 w s;二 是 嵌 入 式 实 时 操 作 系 统,例 如 V x w o r k s,如何在该系统中使用是本文的重点,以 下的介绍都是针对 V x w o r k s 操作系统的。从本质上来讲 Z i n c 是一个类库集合,它主要 由 三种类构成:第一,用户界面对象类,具体包括两种:1)派 生 于Z a f Wi n d o w O b j e c t 类 的 对 象 类:Z a f Wi n d o w O b j e c t 是 Z i n c的基类,它为用户图形界 面对象提供 了最基本的功能,例如移动、大小调整、拖动等。所有 Z i n c中可显示的对象,例如窗 口、按 钮等都是从

6、它派生出来的。2)派生于 Z a f Wi n d o w 类的对象类:Z a f Wi n d o w 也是派生于 Z a f Wi n d o w O b j e c t,但是扩展了它的功能,派生于 Z a f Wi n d o w 的对象可以包含“子对象”,例如多文档窗 口、对 话框、列表等。第二,构架对象类,构架对象类组成了基于 Z i n c 的应用程序的最基本的框架,构架对象类不是 可视化的类,它具有诸如管理用户图形界面对象、用户图形界面对象与应用程序进行通信、在应用程 维普资讯 http:/ Z i n c 一嵌入式操作系统 V x w o r k s下的用户图形界面开发工具 序

7、与底层图形库之间提供一个抽象层、在应用程序 中加载和管理资源等功能。构架对象类又派生出几 个典型的类:1)事件管理类 Z a f E v e n t Ma n a g e r。它是 Z i n c 应用程序的调度中心,是搭建在事件生产 者与事件 作用对象之 间的一座桥梁。Z a f E v e n t Ma n a g e r 类是一个很重要的类,是 Z i n c的事件驱动 机制的具体执行者。2)应用程序类 Z a f A p p l i c a t i o n,每一个 Z i n c的应用程序都要派生一个 Z a f A p p l i c a t i o n类的实例,提供程序的入口。另外

8、它还负责 存储应用程序中 E v e n t 管理器、Wi n d o w 管理器等 的外部指针。3)窗口管理类 Z a f Wi n d o w Ma n a g e r,4)显示类 Z a f D i s p la y。第三,数据对象类,数据对象类具有符和数字 的识别与存储、当特定的数据对象数值改变时通知 图形窗 口对象、当图形窗口对象的内容改变发出通 知三种功能。最基本的数据对象类是 Z a f D a t a,其 它类具有 Z a f Da t a类似的特征。一般来说,每一个 用户界面对象类都拥有一个数据对象类与之相关。构架对象类与图形界面类的关系类似于 V i s u a l c+中

9、文档类与视图类的关系,构架对象类提供对 数据类和图形界面类的管理,在数据类与图形类之 间搭建起一座桥梁。3 Z i n c的运行机制 Z i n c 的应用程序 是在基于事件 驱动(E v e n t d r i v e n)的机制下运行的。输入设备和应用程序之 间是通过事件(E v e n t)相互作用的。Z i n c的 E v e n t 有三种来源:操作系统本身、外部设备和用户应用 程序。例如鼠标移动就是一个典型的外部设备输入 事件。E v e n t获取之后再通过一个标准的方法包装 这些 E v e n t,然后发送给相应的对象以供处理,如 图 1 所示”。l c s 队 列 输 入

10、 设 备 、训 J 序 l E v e n t 竹理器 1 C o nt r nl 1 o o p 介 ()S F v e nt win d o w 箭婵器 I 一 L_7 工 wi n d o w对象 l I:v c n L 分 派 l 派 类对象 JL 坫炎对象 r J ()对象 在 Z i n c 应用程序运行过程中,E v e n t 管理器以 轮询的方式接收类似键盘、鼠标等外部设备以中断 驱动方式发出的数据信息,然后把这些信息对应的 事件汇集起来,放进内部的事件队列等待下一步的 电子科技 2 0 0 5年4月 1 5曰 1 5 维普资讯 http:/ Z i n c 一嵌入式操作系统

11、V x w o r k s 下的用户图形界面开发工具 处理。应用程序通过 Z a f A p p l i c a t io n类的 C o n t r o l()函数不断地从 E v e n t 管理器获取 E v e n t-然后又不断 地把这些 E v e n t 交给 Wi n d o w 管理器,由 Wi n d o w 管理器决定 E v e n t 的最终 目的地和所经过的路由,最后派发给相应的作用对象。Wi n d o w对象使用 E v e n t()函数处理 E v e n t,E v e n t最先会被本窗 口的用户定义的派生类对象处 理,如果派生类对象对它不作处理,就交由

12、本窗口 的 Wi n d o w基类对象处理,如果它还不作处理,就 交给最底层的基类一Z a f Wi n d o w O b j e c t,Z a f Win d o w O b j e c t 接收这个 E v e n t,然后交给内部的操作系统 处理。4 Z i n c的工程配置方法 下面的配置都是针对 D o w n lo a d型(T o r n a d o开 发环境中的工程分为 D o wn l o a d a b l e 型和 b o o t a b l e 型 两种,分别用来调试应用程序和制作 白启动型最终 软件产品”“。4 1 Wi n d M L项 的配置 V x w o

13、 r k s 操作系统中有一个 U g l 库,它给用户 提供了基本的图形功能,例如画点、画线等。但它 不是面向对象的,也不具有事件驱动的体制,具体 地说只具有简单的响应外部输入设备的功能,谈不 上体制。Z i n c 是建立在 U g l 基础上的,因此基于 Z i n c 的工程必须包含 U g l 的库,以提供对用户特定硬件 设备环境的支持。这个过程就是 Wi n d ML的配置。在 T o rna d o开发环境下,主菜单有一个“T o o l s”项,在其下选择“Wi n d ML”,即进入 Wi n d ML配置。Wi n d ML配置中的各个选项包括图形设备、输入设 备、字体、音

14、频设备以及杂项(m i s s c e l l a n e o u s)。图形设备选项下,用户必须选择对应的显示适 配器类型,然后再选择这些显卡能够提供的色深、分辨率和屏幕刷新率参数。以选择 P C B I O S为例,在 Z in c的缺省配置中,分辨率最高为 l 0 2 4 7 6 8,屏幕刷新率最高为 7 5 H z。如果需要提高这些参数 值,则需进入调试状态,调用相应的驱动程序,通 过调试器观察其是否支持更高的值,如果支持,则 修改相应的 c f g文件,再重新配置 Win d ML。在“mi s c e l l a n e o u s”项中,有一个“B u i l d Wi n d

15、ML a r c h i v e”复选框,如果选 中它,则编译 Wi n d ML时 会生成 l i b b s p U g 1 a 文件。在制作用于 b o o t a b l e 型的 V x w o r k s映像文件时必须包含 U g 1 a库文件,如果 不选中,则必须在应用程序中包含。4 2 Z i n o项 的配 置 基于 Z i n c的工程需要包含 l i b B s p g n u Z i n c a文 件,l i b B s p g n u Z i n c a相当于一个静态链接库,建议 用户在 Vx w o r k s 映像中包含它,这样就不需要每一 个应用程序分别包含它。

16、5 Z i n c的工程开发样例 基于 Z i n c的应用程序的启动过程是每一个应 用程序都首先创建一个 Z a f A p p l ic a t io n类的实例,用以保持对应用程序所需要的各种对象的访问,同 时创建 它 的成员 函数 m a i n()。程 序 的入 口在 v_a p p c p p中,入 口函数名是用户定义的,这个函数 的功能就是启动一个任务,此任务中的函数返回指 向 ma i n()的指针。像 D O S下的 c+程序一样,ma i n()是主函数,但不需要用户设计一个 w h i l e 循环来维持主函数的运行,Z i n c 的 C o n t r o l()函数

17、 具有这个功能。因为 Z i n c是一个 图形界面设计工具,所以下 面主要介绍一下 图形界面的设计方法,主要有两 种 方法:兰 竺霍 薯垂 凹_=I 翟 l 文件缠辑外设设置声音频道圈象帮助 请选择起始搜索频道号:厂 广搜索完毕保存艘煮结果 广按设置颤序存储搜索凝道 广按设置音t调整搜索结果 广搜煮完毕后退出操作界面 图 2 简单人机对话窗口界面 5 1利用 Z i n o提供的可视化开发工具 使用这种方式使用户界面的开发简单化,用户 只需很少的代码甚至不需编写代码,步骤如下:步骤 1建 Z i n c 文件。在 T o r n a d o开发环境下,J 6 I TAg e Ap r 1 5

18、 2 0 0 5 维普资讯 http:/ Z i n c 一嵌入式操作 系统 V x w o r k s下的用 户图形界面开发工具 双 击图 标“圈”,打 开Z i n c 视窗 编 辑 窗口,建 立一 个新 的 z n c文件,*z n c文件是一个存储窗 V I 和其 他对象的数据资源文件。步骤 2编辑视窗对象。在编辑窗V I 上,有一排 Z in c 对象工具栏,类似于 V i s u a l B a s i c的控件栏,用户首先须选择一个窗 V I 类,然后放置,再在窗 V I 上面放置按钮或菜单等其他对像,图 2是一个简单 的由本可视化工具产生的界面。以按纽为例,假使 我们有这样一个

19、操作:按下“OK”键,打开另外一 个子窗口。那么在设置这个按钮对象的属性时,在“S e n d m e s s a g e v a l u e”项 的 下 拉 选 项 中 选 择“A OP EN_W I NDOW”,在“S e n d m e s s a g e t e x t”项 中输入子窗口的类名和 I D值就可以了,如图 3。步骤 3生成源代码。视窗对象编辑完成并保存:l:z n c 文件后,选择“G e n e r a te C o d e”,它 的任务是 生成*c p p文件、h p p文件和*i n c文件。用户在 c p p文件中编写代码。i n c 是一个数据结构文件,存放了用

20、户的数据列表、对象列表、用户函数列表 等结构信息。B tJ l O l l G o-r a l I P r 嚣 e n t 抽n I A d v a n c e d I R e A u t o s iz e F a ls e e p t h 2 H o t k e y c h a r H o t k e y J r ld e x l H z,J 嘶 k e f t S e n d me s s a g e T r L Je S e n dme s s a g e v a liJ e 洲 WH、lD oW S e n dme s s a g e Z a 1 c Jo w n 0 价e r、fr

21、I d o w S e n d O n d d-)I F a ls e S e n dO nd o w r t c k F a ls e U n d o l b h a m ic o b j e c t d d a 廿 o n 图 3 视窗对 象属性设置 步骤 4运行应用程序。在 T o rna d o下生成一个 D o w n l o a d型工程,加载上面生成的源文件,编译后 下载。程序在开始运行时,会寻找 z n c 资源文件,事先必须把它存放在 f c p 指定的目录。5 2利用 z i n C的面向对象的特点派生出图形界面 对象并编辑 这种方法与其它的面向对象的C+编译软件基 本相

22、同,甚至派生类的定义及其构造函数都可以在 同一个 c p p文件内,而不必另外在h中定义。还以上面图 2中的按纽为例,要想生成这个按 纽及菜单、按钮。使用下面的语句即可部分实现(完 整代码太长无法全部列出):c o n s t Z a f Us e r Ev e n t NE WDL G W I NOP EN=1 0 0 0 0;产生一个新窗 口 Za f W i n d o w*n e wW i n d o w=n e w Z a f Wi n d o w(0,0,1 0 0,3 0);产生一个按钮,并与事件连接 Za f Bu t t o n*b u t t o n=n e w Za f

23、Bu t t o n(1 5 3 1 0,1 ZAF I TEXT(”OK”):b u t t o n S e t Al l o wDe f a u l t(t r u e):b u t t o n S e t S e n d Me s s a g e Wh e n S e l e c t e d(t r u e);b u t t o n S e t V a l u e(NE W DL GW I N OP E N):n e w W i n d o w Ad d(b u t t o n):n e wW i n d o w S e t De f a u l t Bu t t O n f b u t

24、 t O n)一般来说,使用第二种方法进行设计虽然代码 比较多,但是操作灵活,可以充分利用 Z i n c的面向 对象的特点,是比较实用的选择。6 结束语 总之,Z i n c 是一种基于 V x w o r k s 这类多任务实 时性嵌入式操作系统的图形界面优秀设计工具。但 是,Z i n c 也有某些使用上的缺陷,例如 目前还不支 持汉字,厂商不提供免费的汉化服务。但是用户可 以对字库驱动程序进行添加和修改,这牵涉到 U G L 层和 Z i n c 层两层的汉化,我们已经在工程应用中解 决了这个问题,使 Z i n c支持各种点阵和字体的汉 字。另外 Z i n c 在 Wi n d o

25、 w s X P操作系统下运行不太 稳定,最好安装在 Wi n d o w s 9 8 和 Wi n d o w s 2 0 0 0系 统上。(下转第 2 3页)电子科技 2 0 0 5年 4月 1 5日 1 7 维普资讯 http:/ 卫星数据链路干扰分析 3邹少丞 通信卫星的干扰与反干扰技术 合肥:电子对抗 学会第 1 1 届学术年会论文集,1 9 9 9:6 3 6 6 4 2 4 LEE J M ARS HALL V Ma x i mu m c a p a c i t y p r e d i c t i o n a n d a n t i-j a m p e r f o r ma n

26、c e a n a l y s i s f o r c o mme r c i a l s a t e l l i t e c o mmu n i c a t i on s y s t e ms I EE E Mi l c o m 9 4 1 9 9 4 5 0 651 0 作者简介 谢丹(1 9 7 5),女,工程师,西安电子科技大学通信与 信息系统专业硕士研究生。研究方向:卫星通信。资晓军(1 9 7 6 一),男,助理工程师,西安电子科技大学 通信与信息系统专业硕士研究生。研究方向:卫星通信,卫星数据传输。An Ana l y s i s o f t he S a t e l l i t

27、 e Da t a Li nk wi t h I n t e r f e r e nc e X i e d a n,Z i X i a o j u n (S t a t e Ke y L a b o r a t o r y o f I n t e g r a t e d S e r v i c e s Ne t wo r k s,Xi d i a n Un i v e r s i t y,Xi a n 7 1 0 0 7 1,C h i n a)Ab s t r a c t T h i s p a p e r a n a l y z e s t h e j a mm i n g f e a s

28、 i b i l i t y t o t h e u p d o wn l i n k a n d t h e t r a n s p o n d e r o f s a t e l l i t e c o mmu n i c a t i o n s w i t h e mp h a s i s o n a n a n a l y s i s o f t h e e ff e c t o f t h e u p l i n k i a mme r o n t h e t r a n s p a r e n t t r a n s p o n d e r R e s e arc h r e s

29、u l t s s h o w t h a t t h e e ff e c t i v e a p p r o a c h t o j a mm i n g t h e u p d o wn l i n k i s t h e b l a s t o ff p l a n e(u n ma n n e d a i r p l a n e o r s a t e l l i t e)l o a d e d wi t h t h e j a mme r ma c h i n e F o r s a t e l l i t e c o mmu n i c a t i o n s s y s t e

30、 m wi t h a t r a n s p a r e n t t r a n s p o n d e r,the e ff e c t i v e j a mme r p o we r mu s t b e l arg e r t h a n t h e t o t a l p o we r o f a l l t h e u s e r s,w h e r e t h e b r o a d b a n d j a mme r o r c o mb s p e c t r u m j a mme r i S mo r e s a t i s f y i n g Ke y wo r d

31、s Up 1 i n k;d o wn-l i n k;t r a n s p o n d e r;p e rfo r ma n c e a n a l y s i s (上接 第 1 7页)参考文献 1 ,W i n d Ri v e r S y s t e ms,I n c,1 9 9 9 2 Vx Wo r k s Pr o g r a mme r S Gu i d e ,Wi n d Ri v e r Sy s t e ms,I n c 1 9 9 9 3 ,Wi n d Ri v e r S y s t e ms,I n c,1 9 9 9 4 ,Wi n d Ri v e r S

32、y s t e ms,I n c,1 9 9 9 作者简介 陈旭(1 9 7 O 一),男,中电科技集团第 2 7所。研究方 向:光电对抗,嵌入式操作系统应用与开发。李义民(1 9 7 5 一),男,中电科技集团第 2 7所。研究 方向:光电对抗,软件工程。Zi n c a Us e r Gr a p hi c a l I n t e r f a c e s Fa c i l i t y u nd e r t he Embe d de d OS Ch e n Xu,L i Yi mi n (C E T C 2 7,Z h e n g z h o u 4 5 0 0 0 5,Ch i n a)A

33、b s t r a c t Th i s p a p e r i n t r o d u c e s a n e w i n t e rfa c e d e v e l o p me n t f a c i l i t y for u s e r s f r o m t h e a s p e c t s o f c o n c e p t i o n,s t r u c t u r e a n d me c h a n i s m o f Zi n c,wh i c h h a s the c h ara c t e r i s t i c s o f OOP a n d e v e n t d riv e I t S s i mi l ar t o t h e v i s u a l d e v e l o p me n t f a c i l i t y u n d e r W i n d o ws,wh i c h ma k e s i t e a s y for u s e r s t o d e v e l o p e n g i n e e r i n g Ke y wo r d s Zi n c;Vx wo r k s;OOP;Ev e n t W i n d M L 电子科技 2 0 0 5年4月 1 5日 2 3 维普资讯 http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁