基于嵌入式操作系统VxWorks的图形界面开发

本文详细介绍了如何使用嵌入式操作系统VxWorks的图形开发组件WindML进行图形界面开发,包括WindML的SDK和DDK,以及图形界面开发的技术框架和扩展功能实现,如指针延时自动隐藏、窗口互锁等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


作者:袁渊   来源:edw.com.cn    更新日期:2004-12-29

作者:华东船舶工业学院机械系 袁 渊
摘    要: 本文主要阐述了利用嵌入式操作系统VxWorks的图形开发组件WindML进行图形界面开发的相关技术,并且总结出了程序设计的总体框架以及一些在实际编程中遇到的问题的解决方法,实现了WindML功能的扩展。
关键词: 嵌入式操作系统;图形界面;VxWorks

引言
嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物,显然,嵌入式系统中的操作系统是整个系统的核心部分。VxWorks作为性能优秀的嵌入式操作系统,不论是在可靠性、实时性、可裁减性方面,还是在开放性、易用性等方面都是相当不错的。
本文主要利用WindML解决了嵌入式系统一般图形开发中所遇到的问题,对个别实现中的关键技术进行了详细阐述,并且总结出了图形界面开发的一般流程以供借鉴。

VxWorks概述
VxWorks操作系统是美国Wind River公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),它十分灵活,具有多达1800个功能强大的应用程序接口(API);其次,它适用面广,可以用于从最简单到最复杂的产品设计;再次,它可靠性高,可以用于从防抱死刹车系统到星际探索的关键任务;最后,它适应性强,可以用于所有流行的CPU平台。VxWorks嵌入式实时操作系统包括微内核 Wind、高级的网络支持、强有力的文件系统和I/O管理、C++和其它标准支持等核心功能。

Tornado及WindML概述
WindML概述
WindML(Wind媒体库)提供了对运行在嵌入式系统上的多媒体应用程序的支持,以及用来开发可定制的标准化设备驱动程序的框架。并且,WindML提供了一系列工具用来处理输入设备和过程事件。以上这些功能绝大部分都由WindML提供的API来完成。
WindML由两个部分组成:软件开发工具箱(SDK)和硬件开发工具箱(DDK)。
SDK用来开发应用程序,在图形、输入处理、多媒体、字体和内存管理等方面,提供了全面的API,并且允许开发者在不同的硬件平台下完成独立于硬件的简单代码。
DDK用来完成驱动程序的开发,它提供了一系列完整的通常硬件配置情况下的驱动程序参考,以及一系列能使开发者迅速开发出驱动程序的API。DDK具有可扩展性和可定制性。DDK是SDK与硬件之间的中间层,直接与应用对象的硬件设备(包括显示器、视频、音频、键盘和鼠标等)相连接。

VxWorks自动隐藏流程图
图1 自动隐藏流程图



图2 窗口互锁流程图

中文摘要 004-005 ABSTRACT 005-8 第一章 概述 8-17 1.1 嵌入式系统概述 8-11 1.1.1 嵌入式系统定义 8-8 1.1.2 嵌入式系统的特点 8-9 1.1.3 嵌入式系统的发展 9-10 1.1.4 嵌入式系统的前景 10-11 1.2 图形用户界面概述 11-15 1.2.1 图形用户界面的发展 11-12 1.2.2 图形用户界面的基本特征 12-12 1.2.3 图形用户界面的结构模型 12-14 1.2.4 图形用户界面的发展趋势 14-15 1.3 课题来源和选题依据 15-16 1.4 本文内容安排 16-17 第二章 嵌入式系统下的GUI 17-25 2.1 嵌入式GUI的地位及特殊要求 17-18 2.2 当前已有的嵌入式GUI的实现方式 18-23 2.2.1 紧缩X Window系统 19-19 2.2.2 MiniGUI 19-20 2.2.3 MicroWindows系统 20-22 2.2.4 OpenGUI 22-23 2.2.4 Qt/Embedded 23-23 2.3 各种嵌入式GUI系统之比较 23-25 第三章 嵌入式GUI系统的设计 25-30 3.1 需求分析 25-26 3.1.1 总体描述 25-25 3.1.2 功能需求 25-26 3.1.3 性能需求 26-26 3.2 体系结构 26-30 3.2.1 核心机制模块 27-27 3.2.2 资源和字体模块 27-28 3.2.3 图形设备接口 28-28 3.2.4 GUI对象模块 28-29 3.2.5 控件类模块 29-29 3.2.6 输入法接口模块 29-30 第四章 核心机制模块的设计与实现 30-68 4.1 消息事件驱动机制子模块 30-44 4.1.1 概述 30-31 4.1.2 消息队列初始化 31-32 4.1.3 消息循环 32-33 4.1.4 消息获取 33-36 4.1.5 消息分发 36-36 4.1.6 消息路由 36-43 4.1.7 其他消息队列操作 43-44 4.2 桌面子模块 44-64 4.2.1 概述 44-47 4.2.2 增加窗口 47-51 4.2.3 删除窗口 51-57 4.2.4 将窗口置为最上 57-60 4.2.5 显示窗口 60-61 4.2.6 移动窗口 61-63 4.2.7 激活窗口 63-63 4.2.8 捕获窗口 63-64 4.2.9 使能窗口 64-64 4.3 定时器子模块 64-66 4.3.1 概述 64-65 4.3.2 设置定时器 65-65 4.3.3 删除定时器 65-65 4.3.4 复位定时器 65-66 4.4 初始化子模块 66-66 4.5 预定义堆子模块 66-68 第五章 输入输出层的设计与实现 68-71 5.1 输入层的设计与实现 68-69 5.2 输出层的设计与实现 69-71 第六章 系统性能评测 71-77 6.1 GUI性能测试要求 71-72 6.2 测试的硬件环境 72-72 6.3 测试结果 72-75 6.4 与其他嵌入式GUI系统的比较 75-77 第七章 结束语 77-078 参考文献 078-81
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值