电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

VxWorks基于Zinc的GUI任务与非GUI任务通信VIP免费

VxWorks基于Zinc的GUI任务与非GUI任务通信_第1页
1/6
VxWorks基于Zinc的GUI任务与非GUI任务通信_第2页
2/6
VxWorks基于Zinc的GUI任务与非GUI任务通信_第3页
3/6
VxWorks 环境下基于 Zinc 的 GUI 任务与非 GUI 任务之间的通信1 引言 VxWorks 是美国 Wind River Systems 公司开发的一种嵌入式实时操作系统,它以高性能可剪裁的微内核以及友好的用户开发环境在嵌入式实时操作系统领域占有重要的地位。在很多实时应用场合(如嵌入式地理信息系统) ,需要在 VxWorks 环境下设计图形用户界面(GUI) 。VxWorks 提供了两种开发图形用户界面的组件:WindML (Wind 多媒体库)和Zinc。WindML 为图形、图象和声音应用程序的开发提供了基本技术,并且提供了为定制设备开发标准化驱动程序的框架。Zinc 是以 WindML 为基础的, Zinc 是为应用创建图形用户界面提供框架的可扩展的面向对象的类库。Zinc 为实现复杂的图形用户界面提供了更多的支持。 为了提高性能和简化源代码,大多数情况下在一个实时环境中的应用程序是以多任务的方式实现的, Zinc 自身通常也是多任务的。一般不在外部任务里直接处理 GUI ,而是在一个专用的 GUI 任务里执行所有的 GUI 处理。在多任务环境下,非 GUI 任务将需要在不同的时期和 GUI 任务通信, GUI 也可能需要与外部任务通信。GUI 任务与非 GUI 任务之间的通信方式将对整个实时系统的实时性、可靠性和稳定性产生重大的影响。因此, 深入研究VxWorks 环境下 Zinc 所支持的 GUI 任务与非 GUI 任务之间的通信方式并确定在特定应用场合选择通信方式的原则是非常重要的。2 GUI( Zinc)任务和外部任务之间的通信方法 GUI 任务和非 GUI 任务之间的通信大致可以分为两种:同步通信和异步通信。Zinc 主要提供了如下几种通信机制供程序员选择使用:Zinc 入口点 共享内存 OS 消息队列 派生设备 a)Zinc 入口点 可以利用 Zinc 入口点实现 GUI 任务与非 GUI 任务之间的通信,主要有如下两种方法:与 Zinc 通信的基本入口点是 ZafEventManager::Put()程序。利用该函数可以在Zinc 事件队列中放置一个事件。这是一个异步方法,因此只能适用于可接受异步通信的场合。 ZafApplication::BeginSynchronize() 和 ZafApplication::EndSynchronize() 。这两个函数自身并不是通信程序,但能确保直接通信方式访问 Zinc 是安全的。直接通信通常由一个对象的 Event()函数来实现,也可能采用其它的方式,比如数据对象更新。间接通信可以使用 ZafEventManager::Unblock()函数来实现。使用一个派生设备或其它方法进行通信的时候,使用该函数可以...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

VxWorks基于Zinc的GUI任务与非GUI任务通信

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部