基于嵌入式实时操作系统VxWorks的WindML图形界面开发方法
基于VxWorks的图形软件WindML3.0的研究
运行 才更 稳 定 , 效 率 更 高 。据 功 能将 贪 吃蛇 游 戏
划 分成 九个 小模块 , 每 个模 块均 具有 自己 的功能 , 而且, 比较容 易 画 出各 个模 块 的流程 图 , 如图 1 所
示 。
体库) , 它 是 Vx Wo r k s操 作 系 统 中 库 的 一 部 分 。 它 为 Vx Wo r k s的开发 者 在 本地 设 备 上 实 现 图 形
化用 户界 面 ( GUI ) 提 供 了基 础 支 持 , 支 持 基 于 嵌 入式操 作 系统 的 多媒 体 应 用 程 序 , 提 供 基 本 的 图 形、 视频 、 声频技术 , 并 且 提供 了一 个设 计 标 准 设 备 驱 动程 序 的框架 , Wi n d ML还 提 供 了一 系 列 工
图形 驱动 即完 成 初 始 化 图形 系 统 功 能 ; 开始 画 面模块 的主要作 用是 根 据设 置绘 制 出玩 游戏 区
域 四周 的墙壁 ; 玩游 戏 的过 程 是 游 戏 此 游 戏 程 序 的核 心 , 又可 细 分 为好 多小 的功 能模 块 ; 其中, 显
收 稿 日期 : 2 0 1 3 —1 1 l 2 机 电一 体 化技 术 方 面 的 教学 与研 究 。
性上 的表 现 十分优 秀 , 因而 被广泛 的应用 于通讯 、
Wo r k s 操 作 系 统 和 Wi n d MI 的应 用 , 既 容 易 入 门, 又能 帮 助掌 握 Wi n d ML软 件 , 更 能 激 发 学 习
兴趣。
航空 航天 、 军 事测 控 、 数 字信 号处 理等 高尖 技术 领
域 中 。在 美 国 的 F一1 6 、 F A一1 8战斗 机 、 B一2隐
VxWorks系统下基于WindML的窗口化图形界面设计
作者 简 介 : 昊 秀 才( 1 9 8 0 一) , 女, 河北衡水人 , 河 南理 工 大 学 万 方科 技 学 院公 共 基 础 课 教 学部 讲 师 , 研究方向为应用数学 ; 李瑞斋( 1 9 8 0
一
) , 女, 河 南 南 乐人 , 硕士 , 郑 州 大 学 西 亚 斯 国 际 学 院数 理 学 院讲 师 , 研 究方 向为 概 率 统 计 ; 周健 ( 1 9 6 4 一) , 男, 硕 士, 河 南 郑
第1 4 卷 第2 期
2 0 1 5 年 2 l f
软 件 导 刊
Sof t wa r e Gui de
V O1 .1 4NO. 2
Fe b. 2Ol 5
Vx Wo r k s系 统 下 基 于 W i n d M L的 窗 口化 图 形 界 面 设 计
3 窗 口化 图 形 界 面 程序 设计 原 理
3 . 1 基 本 概 念
Wi n d ML图 形 设 计 中 的 一 些 基 本 概 念 类 似 于 常 见 的 Wi n d o ws系 统 下 的 Vi s u a l C+ + 编 程 , 如 窗 口实例 、 窗 口
和实 时 性 被 广 泛 应 用 于 通 信 、 军事、 航空 、 航 天 等 高 技 术
写 消 息 处 理 器 。消息 处 理 器 类 似 消 息 回调 函数 , 用 来 响 应
L i b r a r y ) 支持在嵌入式系统上 运行 多媒体应用 程序 , 提 供 基 本 的 图形 、 视频 、 音 频 技 术 及标 准设 备 驱 动 程 序 框 架 , 其 AP I 库 提供 了 图 形 硬 件 接 口 和 处 理 输 入 输 出设 备 事 件 的
基于WindML媒体库的图形界面开发
基于WindML媒体库的图形界面开发秦啸;宋慧娟;穆朝义【摘要】本文介绍了嵌入式实时操作系统VxWorks及其媒体库WindML的特点和结构。
描述了利用WindML进行图形界面开发的思路和相关步骤,并且给出了多设备类型下,WindML的命令行配置方法及代码实现。
【期刊名称】《电子技术与软件工程》【年(卷),期】2013(000)017【总页数】2页(P100-101)【关键词】windML;图形开发【作者】秦啸;宋慧娟;穆朝义【作者单位】西安应用光学研究所,陕西省西安市710065;;;【正文语种】中文【中图分类】TP3161 引言随着计算机技术和大规模集成电路的发展,微型化、专业化成为计算计发展的趋势,其应用范围也越来越广。
而嵌入式系统以其小巧,自动化程度高、实时响应等优势迅速发展并得到广泛的应用。
VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种实时嵌入式操作系统(RTOS),是嵌入式开发的核心组成部分。
它凭借高可靠性和优异的实时性被广泛应用在卫星通讯、飞行制导、航空导航等对系统实时性要求苛刻的领域。
而WindML是VxWorks系统中用于多媒体运行,包括图形显示、音频、视频等处理的组件,并提供其软件开发框架。
2 实时操作系统VxWorks概述VxWorks是目前嵌入式环境中最具代表性的操作系统。
它与目前各领域中使用的CPU都能很好的兼容。
包括:PowerPC、X86、MIPS、SC-400、386EX、ARM 等。
对各类硬件环境良好的兼容性使得Vxworks成为嵌入式系统开发中的主流。
VxWorks允许一个实时应用作为一系列独立任务来运行,各任务有独立的线程和系统资源。
VxWorks系统提供多处理器间和任务间高效的通信机制,如信号量、消息队列、管道、网络透明的套接字等。
此外,VxWorks提供400多个相对独立的、短小精炼的目标模块,用户可根据需要选择适当模块来裁剪和配置系统,有效地保证了系统的安全性和可靠性。
在WindML下汉字、图形界面及图片显示的开发研究
在WindML下汉字、图形界面及图片显示的开发研究胥小武;余立建;刘洪雨【摘要】本文介绍WindML的结构,重点叙述在开发文字图形前字库的原理、结构和配置、显示图片文件前的准备工作及WindML设置编译的重要注意事项,最后用具体的项目开发成果,展示了在VxWorks下用WindML开发的文字、图形、图片文件的显示.【期刊名称】《铁路计算机应用》【年(卷),期】2014(023)008【总页数】4页(P49-52)【关键词】VxWorks;WindML;文字;图形;图片文件【作者】胥小武;余立建;刘洪雨【作者单位】西南交通大学信息科学与技术学院,成都610031;西南交通大学信息科学与技术学院,成都610031;西南交通大学信息科学与技术学院,成都610031【正文语种】中文【中图分类】U29;TP39VxWorks实时操作系统由400多个相对独立的、短小精炼的目标模块组成,用户可根据需要选择适当的模块来裁剪和配置系统,这就有效保证了系统的安全性和可靠性[1]。
VxWorks包含了BSP,Wind内核,I/O系统,文件系统,网络系统,图形系统等[2]。
WindML是VxWorks下的一部分,它支持多媒体程序运行于嵌入式操作系统,主要用于提供基本的图形、视频和声频技术应用开发。
WindML API提供了一个统一的图形硬件接口及处理输入/输出设备事件的能力。
WindML包括两个组件:(1)SDK。
它提供了图形资源的初始化和清理例程,多媒体API包括了2D图形化界面、区域管理、窗口、颜色管理、视频音频、JPEG 支持、事件服务、内存管理、扩展API和设备管理;(2)DDK。
它提供了一个完整的常见硬件配置,参考驱动程序例程和API文档可以快速建立起新的驱动程序[3]。
WindML的层次结构如图1所示。
?在WindML第一次使用之前要配置、编译WindML。
VxWorks中的板级支持包BSP (board support package)是介于底层硬件和上层软件之间的底层软件开发包,它主要用来屏蔽底层硬件,进行硬件系统的初始化并调用外设的驱动程序接口管理系统外设。
基于OpenGL的VxWorks图形界面开发毕业论文
基于OpenGL的VxWorks图形界面开发毕业论文目录第一章绪论 (1)1.1 背景知识介绍 (1)1.1.1 嵌入式实时系统 (1)1.1.2 图形用户界面概述 (2)1.2 国内外研究现状 (4)1.2.1 嵌入式GUI的现状 (4)1.2.2 基于VxWorks的图形解决方案 (5)1.2.3 嵌入式GUI的发展趋势 (7)1.3 课题来源和意义 (7)1.4 论文结构 (8)第二章VxWorks操作系统及媒体库WindML (11)2.1 VxWorks深入研究 (11)2.1.1 VxWorks概述[10] (11)2.1.2 VxWorks实时微内核[11][12] (12)2.2 VxWorks集成开发环境Tornado (15)2.2.1 Tornado介绍[13][14] (15)2.2.2 交叉编译环境 (15)2.2.3 Tornado的组成 (16)2.3 WindML媒体库 (18)2.3.1 WindML概述[16] (18)2.3.2 WindML事件服务机制 (19)2.3.3 WindML2D图形库分析 (19)2.3.4 WindML程序开发流程 (21)2.4 本章小结 (22)第三章OpenGL/Mesa及其在VxWorks下的移植 (23)3.1 OpenGL/Mesa (23)3.1.1 OpenGL开发库 (23)3.1.2 OpenGL开发库结构 (24)3.1.3 Mesa库 (28)III 基于OpenGL的VxWorks图形用户界面开发3.2 OpenGL/Mesa库的移植 (29)3.2.1 工作概述 (29)3.2.2 重要数据结构和函数的引入 (29)3.2.3 使用改进后的库 (31)3.2.4 编译Mesa库 (32)3.3 搭建虚拟开发环境 (33)3.4 本章小结 (35)第四章VxWorks系统GUI关键技术及实现 (37)4.1 消息驱动机制 (37)4.1.1 消息驱动机制实现原理 (37)4.1.2 消息检测任务 (38)4.1.3 事件分发任务 (38)4.2 中文显示方案 (39)4.2.1 中文显示的基本原理 (39)4.2.2 字库文件格式 (40)4.2.3 具体的实现方案 (42)4.3 窗体管理 (44)4.3.1 主窗口 (44)4.3.2 对话框 (45)4.3.3 控件 (46)4.3.4 菜单 (46)4.4 常用控件设计 (47)4.5 本章小结 (50)第五章工程应用和效果测试 (51)5.1 工程应用 (51)5.2 测试效果 (51)5.2.1 普通图形界面 (51)5.2.2 3D图形显示 (52)5.3 本章小结 (53)结束语 (55)致谢 (57)参考文献......................................................................................... 错误!未定义书签。
基于PowerPC嵌入式平台的WindML图形驱动设计
Wa n g L u , G u a n Qi n
( De p a r t me n t o fS p e c i a l E l e c t r o n i c T e c h n o l o g y , No . 5 8 Re s e a r c h I n s t i t u t e o f C h i n a O r d n a n c e I n d u s t r i e s , Mi a n y a n g 6 2 1 0 0 0 , C h i n a )
王璐 ,官 琴
( 中 国兵器 工业 第 五八 研 究所特 种 电子 技 术部 , 四川 绵 阳 6 2 1 0 0 0 ) 摘要: vx wo r k s 操作 系统 中 的图形 开发 组件 Wi n d ML只提 供 C HI P S芯 片的通 用驱 动 支持 , 没有 针 对 C H I P S 6 5 5 4 5 显示 芯 片 的具体 驱动 程序 。因此提 出一种 基 于 P o we r P C嵌入 式 平 台使用 C HI P S 6 5 5 4 5显 示芯 片的 Wi n d ML图形驱 动 设 计 方 法。 介 绍基 于 P o we r P C嵌 入 式 平 台 , 利 用 Vx Wo r k s 操 作 系 统 下 的 图形 开 发 组 件 W i n d ML 开 发 基 于 CH I P S 6 5 5 4 5 显 示 芯 片的显 卡驱 动 ,并给 出 了详 细 的开发 步骤 。 实验 结 果表 明:该程序 工作 正常 ,分辨 率 可达 1 0 2 4 x 7 6 8 ,刷 新 率 6 0Hz ,最 高支持 8 b p p颜 色深度 ,在 实际工作 中运 用情 况 良好 。
基于OpenGL的VxWorks图形界面开发
摘要
图形用户界面(GUI)是人机交互技术的重要内容,它使用图形图像信息、 直观的表达方式与用户交互,使软件系统的人机界面简洁、美观、方便好用,更 加人性化。目前 GUI 已经大量应用在嵌入式领域,但是大多数嵌入式 GUI 系统 提供给用户的显示平面从逻辑设计上讲是二维的,最大的缺点在于反映信息量小, 在对真实场景进行模拟显示的时候,无法提供真实的场景数据。随着嵌入式系统 硬件功能的不断提高,如何开发一款支持 3D 建模的嵌入式 GUI 已成为一个迫切 的话题。
关键词:嵌入式统 VxWorks 图形用户界面 OpenGL/Mesa WindML
目录
I
目录
第一章 绪论...................................................................................................................1 1.1 背景知识介绍...................................................................................................1 1.1.1 嵌入式实时系统.....................................................................................1 1.1.2 图形用户界面概述.................................................................................2 1.2 国内外研究现状...............................................................................................4 1.2.1 嵌入式 GUI 的现状................................................................................4 1.2.2 基于 VxWorks 的图形解决方案 ...........................................................5 1.2.3 嵌入式 GUI 的发展趋势........................................................................7 1.3 课题来源和意义...............................................................................................7 1.4 论文结构...........................................................................................................8
嵌入式实时操作系统VxWorks中的图形界面设计
嵌入式实时操作系统VxWorks中的图形界面设计
梁勇;孟桥;刘铁英
【期刊名称】《电测与仪表》
【年(卷),期】2005(042)009
【摘要】对用WindML2.0实现嵌入式实时操作系统VxWorks下的图形界面设计作了一个比较全面的阐述,包括它的组成、功能和使用.改进了WindML2.0的位图操作并实现了中文显示功能.
【总页数】4页(P56-58,34)
【作者】梁勇;孟桥;刘铁英
【作者单位】南京财经大学,南京,210003;东南大学,南京,210096;东南大学,南京,210096;吉林省发改委机械设备成套招标公司,长春,130051
【正文语种】中文
【中图分类】TP317.4
【相关文献】
1.实时操作系统VxWorks中图形开发环境的配置 [J], 肖骏;刘承香;崔鹏辉
2.嵌入式实时操作系统VxWorks及其在地震勘探仪器中的应用 [J], 李艳军;罗兰兵;李兴华
3.VxWorks嵌入式图形界面设计 [J], 皇甫祯;陈怀民;段晓军;吴成富
4.VxWorks下Tilcon嵌入式图形用户界面设计与实现 [J], 姜飞;王屹华;崔晓宇;李凌锋
5.嵌入式实时操作系统DeltaOS中的图形用户界面设计 [J], 胡修林;李凡
因版权原因,仅展示原文概要,查看原文内容请购买。
VxWorks图形界面开发
VxWorks下图形用户界面的开发
作者: 来源于: 发布时间:2007-6-29 15:22:00 摘要:分析了嵌入式实时操作系统VxWorks及媒体库WindML的结构和特点。应用WindML提供的 API函数,给出了VxWorks操作系统下键盘输入响应及图形界面输出的程序实现。 一 前言 随着多媒体信息技术、互连网、消费类电子产品的发展,嵌入式操作系统由于其占用内存少、可裁 减、稳定性好的特点正得到越来越广泛的应用。VxWorks是 一种由美国WRS(Wind River Systems Inc.)公司开发的典型的嵌入式实时多任务操作系统(RTOS),具有高可靠性、高实时性和 对于异步、并行的事件可以在严格的时限内作出响应等特点。基 于VxWorks的系统的输入、输出一 般可应用WRS公司提供的媒体库——WindML(Wind Media Library)进行开发。本文结合 VxWorks在随动监控系统中的应用,讨论应用WindML进行事件响应以及屏幕输出的技术和机制。 二 实时操作系统VxWorks简介 VxWorks是由美国WRS(Wind River Systems Inc.)公司开发的一套微内核、高可靠性、可裁 减的嵌入式实时操作系统。VxWorks实时内核Wind提供了基本的多任务环境及对任务的管理。多任 务 使得许多程序在表面上表现为并发执行,而事实上内核是根据基本的调度算法使他们分段执行。 每个明显独立的程序被设置成为一个任务。每个任务拥有自己的上下 文,其中包含内核调度使该任 务执行的时候它所看到的CPU环境和系统资源。 VxWorks 提供256个任务优先级,默认采用基于优先级的抢占式调度算法,也可以选用基于时间 片的轮转调度算法。任务间切换、任务上下文的保存可以在极短时间内完 成。同时,VxWorks提供了 丰富的任务间通信机制,主要包括:共享内存、信号量、消息队列和管道、套接字、信号等。VxWorks 主要组成部分见图 1。
基于S3C2440的WindML图形驱动设计
万方数据万方数据WindML输入驱动是一个分层结构,包括一个底层的驱动,负责处理设备控制器和一个高层的驱动,还负责翻译从设备中接收到的原始数据。
底层输入驱动是作为I/O驱动来开发的,一般构建进入系统内核,底层驱动在初始化时就会被连接到操作系统的I/O系统中。
底层驱动负责完成以下功能:初始化设备控制器和输入设备;处理由设备控制器产生的中断;从输入设备中接收原始数据,把它们按序地排列在I/O系统的高端驱动队列中;接收高层驱动的指令并做出相应的反应,如控制键盘上I。
ED的亮灭。
此外,底层输入驱动必须支持输入服务任务用于检测输人数据的Select()机制。
高层输入驱动主要负责接收来自低层输入驱动的原始数据,处理这些数据,封装数据成为一个输入事件消息以及把这些消息放到消息队列中。
在实现时需要完成以下例程:(1)驱动打开例程。
分配并初始化驱动控制结构,打开底层输入驱动,设置底层驱动到合适模式,以及当成功打开驱动后返回一个指向驱动结构的指针。
函数原型如下:UGL—INPU7二DEV*uglXXopen(char。
pDevName,UGL—INPUT—DEV。
pDriver);驱动打开例程有两个参数,第一个参数是用于接收原始输人数据,被驱动打开的底层输入驱动的名字;第二个参数是一个指向输入驱动结构(UGL—INPUT—DEV)的指针。
(2)驱动控制例程。
函数原型如下:UGL_STATUSuglXXControl(UGL_PC_KBDDEVICE。
pDevice.UGL-DEVICE-REQrequest,void”pArg)该函数有3个参数:第一个参数是由驱动打开例程创建和初始化的驱动控制结构;第二个参数是请求的类型;第三个参数依赖于第二个参数的请求类型。
(3)开发驱动关闭例程。
该函数负责完成关闭底层输入驱动,释放由打开例程分配的系统资源以及设置底层设备回到它操作之前的原始状态。
最后需实现12C总线接口驱动,将底端输入驱动及高端输入驱动连接起来,完成键楹驱动程序的编写。
WindML相关知识和图形设备驱动程序开发
WindML相关知识和图形设备驱动程序开发[原创]WindML相关知识和图形设备驱动程序开发1、介绍WindML即Wind Media Library(媒体库),它支持多媒体程序运行于嵌入式操作系统,风河公司设计它主要是用来提供基本的图形、视频和声频技术以及提供一个设计标准设备驱动程序框架。
WindML API库提供了一个统一的图形硬件接口以及处理输入设备和输入设备事件的能力。
WindML有一下几个设计目的:●简单。
WindML提供一个灵活的图形源语集、基本的视频和声频功能;●硬件便宜。
可以在多种CPU体系结构上使用;●操作系统便宜。
可以在多种RTOS系统上使用;●驱动程序开发的容易。
提供给开发者一个定制设备驱动程序的机理。
2、WindML结构WindML包括两个组件――软件开发包(SDK)和驱动程序开发包(DDK)。
SDK组件用来开发应用程序,它提供了一个全面的API集,包括图形、输入处理、多媒体、字体和内存管理。
DDK组件是用来实现驱动程序的,它提供了一个完整的驱动程序参考集,包括硬件配置和API集,以使得开发者能够迅速的引导和使用自己的驱动程序。
WindML可以概括为如图1-1所示的结构:图1-1 WindML结构2.1 SDK这一层定义了应用程序代码和硬件驱动程序的接口,因此应用程序可以独立于硬件进行开发。
SDK提供了下列API集:●图形芯片的初始化程序●多媒体API,包括-2D图形-区域管理-窗口-颜色管理-视频支持-JPEG支持-声频●事件服务●内存管理●扩展API●设备管理2.2 DDKDDK是处于SDK和硬件之间的中间层,它直接与应用程序目标硬件设备接口,包括监视器、视频、声频、键盘和指示等设备。
对于大多SDK APIs都有相关的驱动程序级结构和API,比如,SDK原语uglRectangle( )就是用来划矩形给显示设备,它访问一个包含rectangle域的驱动程序结构,这个域就是执行划矩形操作的函数指针。
基于WindML的图形开发与应用
基于WindML的图形开发与应用练学辉;朱佳丽;乔大雷【摘要】以电子地图显示软件开发为背景,研究了Vxworks下使用WindML3.0进行嵌入式图形开发的全过程,包括WindML的配置和加载、WindML下图形开发的总体框架等,并实现了WindML下图形窗口的创建、显示、刷新,汉字的显示,并利用双缓冲技术解决电子地图刷新时的屏幕闪烁问题.【期刊名称】《雷达与对抗》【年(卷),期】2015(035)001【总页数】4页(P65-68)【关键词】WindML图形开发;WindML配置和加载;窗口显示;双缓冲;汉字显示【作者】练学辉;朱佳丽;乔大雷【作者单位】海军驻南京地区雷达系统军事代表室,南京210003;中国船舶重工集团公司第七二四研究所,南京211153;中国船舶重工集团公司第七二四研究所,南京211153【正文语种】中文【中图分类】TP31Vxworks实时操作系统具有高实时性、高可靠性等特点,被广泛应用于工业控制、国防军事等领域。
Vxworks6.0以下版本采用的是Tornado开发工具,而Vxworks6.0以上版本集成的是Workbench开发工具。
Vxworks能够支持大多数常用的工作平台和目标处理器,除基本的功能和开发工具外,它还具有多媒体应用开发组件WindML。
WindML组件为嵌入式系统提供了基于常用设备的图形、视频以及音频技术。
Tornado 和Workbench开发工具均支持WindML组件,且Workbench支持更高的WindML版本。
本文总结了基于WindML3.0的图形开发过程,包括WindML的配置、加载及遇到的问题与解决方法,同时描述了基于WindML实现电子地图的任意缩放、平滑漫游以及名称标绘等功能的内容,主要介绍基于WindML的绘图窗口的创建、显示、刷新,双缓冲技术在电子地图显示软件中的具体应用以及汉字显示的实现。
WindML多媒体库是Tornado的可选组件之一,具有一整套Vxworks操作系统下的基本图形功能,为开发者提供了一个层次清晰、结构合理的图形开发框架。
基于VxWorks操作系统的三维图形驱动开发
咧11理工学院学报(自然科学版)至009年4月绘制功能,测试时使用的GPU为ATIRadeonM9000。
笔。
士.。
者采用标准的OpenGLl.3API函数实现下面的三维齿4结束语轮效果图。
实拍显示效果如图l所示:本文通过对Mesa3D库的移植和改进,解决了WindML3.0不支持3D图形显示及标准OpenGLAPI函数的问题,大大增强了WindML开发的图形程序的通用性和可移植性。
同时利用硬件双缓冲技术解决了实时显示时屏幕闪烁、抖动的问题,提高了图形显示的质量。
图1炫彩立方体实拍效果圈移植并改进Mesa3D前后WindML3.0图形渲染功能对比如表l所示。
表1移植并改进Mesa3D前后功能对比参考文献:[1】VxWorks5.5Progmnmds国ideIM].WindRiverSystemInc.2002.【2】W讷dML3.0ReleaseNote[M].WindRiverSystemInc.,2002.[3】WindMLDDKProgmnrner'sGuide,3.O【M】.WindRiverSystemIne.2002.【4】TimourPaltashev,Nav自aGovind,GheniAbla.SimulationofHardwareSupportforOpen(丑GraphicsArchitec—ture,CodingandComputing[J].2000,6(6):126—128.【5】梁玉红,贾艾晨.基于OpenCl的拱坝三维数据场的可视化应用研究【J】.四川理工学院学报:自然科学版,2007却(6):67—71.Developmentof3DGraphicsDriverBasedonVxWorksZHANGChong,ZHAO劬凡g,JIANGyo增(SchoolofElectronicsandInformationEngineering,SichuanUniversity,Chengdu610064,China)Abstract:ThispaperhasrealizedthetransplantationofMesa3DbasedOilVxWorks,whichsolvesthe3Dgraphicsdis—playingprobleminWindML3.0andprovidesstandardOpenGL1.3API.Byusinghardwaredoublebuffertechnology,ithaseliminatedflickeringindisplayingandimprovedthedisplayeffects.Keywords:VxWorks;WindML3.O;OpenGL;Mesa3D;doublebuffertechnology。
基于VxWorks的WindML图形界面开发方法
基于VxWorks的WindML图形界面开发方法
蔡华;卞新高;史中权;丁坤
【期刊名称】《工业控制计算机》
【年(卷),期】2005(18)8
【摘要】简要介绍了嵌入式实时操作系统VxWorks的媒体库WindML,讨论了WindML图形界面开发方法,通过实例详细阐述了WindML的配置和加载、二维图形的绘制、文本显示、鼠标和键盘等输入设备的响应以及区域和窗口的绘制等功能的实现方法.
【总页数】3页(P28-30)
【作者】蔡华;卞新高;史中权;丁坤
【作者单位】河海大学机电工程学院,213022;河海大学机电工程学院,213022;河海大学机电工程学院,213022;河海大学机电工程学院,213022
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于VxWorks的图形界面开发方法 [J], 皇甫祯;陈怀民;段晓军;吴成富
2.一种基于Tilcon的VxWorks图形界面开发方法 [J], 王钤;朱松柏;李博;陈涛;高洁
3.基于VxWorks操作系统的WindML图形操控界面实现方法 [J], 胡俊
4.VxWorks系统下基于WindML的窗口化图形界面设计 [J], 吴秀才;李瑞斋;周健
5.基于WindML媒体库的图形界面开发 [J], 秦啸;宋慧娟;穆朝义;
因版权原因,仅展示原文概要,查看原文内容请购买。
基于VxWorks操作系统的WindML图形操控界面实现方法
为各种 平 台开发 与硬件 无关 的应 用 。它 在 图形 、 输
出处理 、 多媒体 、 字体和 内存管理方 面提供 了完整
的 AP 。D I DK用 于开 发驱 动程 序 。它提 供 了一 整
*
收稿 日期 :0 1 5 1 2 1 年 月 7日, 回日期 :0 1 6 2 修 2 1 年 月 4日 作者简介 : 胡俊 , 。 男 工程 师 , 研究方 向: 光电子技术 。
图 1 。
SDK
态 数据 , 且要 做 到 美 观 大 方 , 果 将 界 面 提 前 在 并 如
W id ws 一 些 画 图 软 件 下做 成 精 美 的 2 no 用 4位 的
真 彩色位 图 , 显示 的时候 , 只需 读 取 图片 , 图片 作 将
为背景 显示 , 当状态 数 据 改 变 时 , 只需 改 变 该 区域
21 0 1年第 1 期 1
计算机与数字工程
和添加 完 成 后 , 可 以 在 Vx r s的 开 发 环 境 就 Wo k T ra o中进 行 编 程 , 而 实 现 图形 界 面 的开 发 。 ond 从 利用 Wid n ML可 以实 现 二 维 图形 的绘 制 , 本 的 文
TP 9. 1 3 1 4
示 , 面中需改 变的图像 只需刷新 局部显示 内存 , 出详细源代码 , 界 给 方法简单 , 并且界面美观 , 通用性强 。
关键词
中 图分 类 号
A e h d t hiv n e f e d s l y un e W o ks M t o o Ac e e I t rac — i p a d r Vx r
胡 俊
武汉 407) 3 04 ( 中光 电技术研究所武汉光 电国家实验室 华
基于嵌入式操作系统Vx Works的图形界面开发
第17卷第2期2003年04月 华 东 船 舶 工 业 学 院 学 报(自然科学版)Journal of East China Shipbuilding Institute(Natural Science Edition)Vo1117No12Apr.2003文章编号:1006-1088(2003)02-0040-05基于嵌入式操作系统VxWorks的图形界面开发袁 渊,曾文火(华东船舶工业学院机械系,江苏镇江212003)摘 要:主要阐述了利用嵌入式操作系统VxWorks的图形开发组件WindML(Wind Medial Library)进行图形界面开发的相关技术,并且总结出了程序设计的总体框架以及一些在实际编程中遇到的问题的解决方法,实现了WindML功能的扩展。
关键词:嵌入式;界面开发;软件开发工具箱中图分类号:TP316 文献标识码:A0 引 言嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物,今天嵌入式系统带来的工业年产值已超过1万亿美元。
很显然,嵌入式系统中的操作系统是整个系统的核心部分,操作系统性能的各项性能指标直接影响到整个系统的性能。
VxW orks作为现在性能最优秀的嵌入式操作系统,不论是在可靠性、实时性、可裁减性方面,还是在开放性、易用性等方面,它的性能指标都位居同类产品前列[1]。
为了尽量减小嵌入到实际系统中运行内核的大小,一般的嵌入式系统不提供图形界面。
但是,为了提高系统的易用性,VxW orks提供了一个图形开发组件WindML,利用它可以更快、更简单地开发出资源消耗更小的图形界面。
本文主要利用WindML解决了嵌入式系统一般图形开发中所遇到的问题,对个别实现中的关键技术进行了详细阐述,并且总结出了图形界面开发的一般流程。
本文只是对WindML的其中软件开发工具箱(SDK)部分进行了详细地阐述,其它只是简单介绍。
完成本文所依托的软硬件调试环境如下:主机:Windows98,Tornado;C466,PC2Link network card,etc.目标机:VxWorks;PC486,N E2000compatible network card,etc.1 VxWorks概述[2]VxWorks操作系统是美国Wind River公司于1983年设计开发的一种嵌入式实时操作系统(R TOS),良好的持续发展能力、高性能的内核以及友好的用户开发环境,使其在嵌入式实时操作系统领域逐渐占据一席之地。
VxWorks下的交互式用户界面开发
VxWorks下的交互式用户界面开发王姗姗;秦开宇;谈秀娟【摘要】在实时嵌入式操作系统中,VxWorks因其高可靠性及高实时性而得到广泛应用.主要介绍了基于VxWorks嵌入式操作系统的显示技术--WindML,分析了WindML的结构和特点,结合作者的实际工作经验给出了在VxWorks操作系统下进行交互式用户图形界面开发的程序实现,并针对具体实现过程中遇到的难点问题提供了可行的解决方案.实现了WindML功能上的扩展.为开发出友好的用户界面提供了技术上的支持.【期刊名称】《现代电子技术》【年(卷),期】2007(030)004【总页数】3页(P58-60)【关键词】实时操作系统;图形界面;VxWorks;WindML【作者】王姗姗;秦开宇;谈秀娟【作者单位】电子科技大学,自动化学院,四川,成都,610054;电子科技大学,自动化学院,四川,成都,610054;电子科技大学,自动化学院,四川,成都,610054【正文语种】中文【中图分类】TP3161 前言嵌入式系统是将先进的计算机技术,半导体技术和电子技术与各个行业的具体应用相结合后的产物,而嵌入式系统中的操作系统是整个系统的核心部分,VxWorks作为性能优秀的嵌入式操作系统,在可靠性、实时性、可裁减性以及开放性,易用性等方面都是相当不错的。
因此被广泛应用于工业控制、国防、通信等领域,在嵌入式实时系统中占有较大的市场份额。
本文将详细阐述用嵌入式操作系统VxWorks的图形开发组件WindML进行交互式用户界面开发的相关技术,并为具体实践过程中遇到的具体问题提供可行的解决方案。
2 WindML概述WindML是由Windriver公司提供的图形开发组件,该组件提供了对运行在嵌入式操作系统上的多媒体应用程序的支持,以及用来开发可定制的标准化输入输出设备驱动程序的框架.他采用了标准组件设计,具有较好的软件独立性和可移植性。
WindML由2部分构成-软件开发包(SDK)和驱动开发包(DDK)。
基于嵌入式操作系统VxWorks的图形界面开发
许 开发 者 在 不 同 的硬 件 平 台 下完 成 独立 于硬 件 的 简单 代
Vx o k W rs概 述
V W ok操 作 系统 是 美 国 Wid i r x rs n R v 公司 于 18 年 e 93
码。
D K用 来 完成 驱 动程 序 的 开 发 , 提 供 了一 系 列完 D 它
ILeabharlann 维普资讯 \\
,
热 焦
,
/
一 一
u t t ug Ev nt t0 S a = l e Ge
完 整性 ,使 屏 幕 闪烁 最 小 ,并 且 能 最 有 效地 利 用 系统 资
源。
( 间隔 O s 样 ) m采
1 L
设 计 开发 的 一 种嵌 入 式 实 时操 作 系统 ( T ) R OS ,它 十分 整 的通 常 硬 件 配置 情 况 下 的驱 动 程 序 参 考 ,以 及一 系列
灵活 , 有 多 达 l0 个 功 能 强大 的应 用 程 序接 口 ( P ) 具 80 A I; 能使 开 发者 迅 速 开发 出驱 动程 序 的 A I D P 。D K具 有可 扩 其次 , 它适 用面 广 , 可以 用于 从最 简单 到 最 复 杂的 产 品设 展性 和 可 定制 性 。 D D K是 S K与硬 件 之 间的 中间 层 , D 直 计 ; 次 , 可 靠性 高 , 以用 于 从防 抱 死刹 车 系统到 星 接 与 应 用对 象 的 硬件 设 备 ( 括 显 示 器 、 再 它 可 包 视频 、 频 、 音 键
华 东 船舶 工 业 学院 机 械 系 袁 渊
摘
要: 本文主要阐述 了利用嵌入式操作 系统V Wo s x r 的图形开 发组件wlm札 进行 图形界 面开 发的相 关技术 , k n
基于VxWorks的人机界面图形开发系统设计
基于VxWorks的人机界面图形开发系统设计刘东涛;肖峰【摘要】针对当前嵌入式实时系统VxWorks图形界面开发支持较弱的缺点,结合海军多功能标准台项目,分析了VxWorks实时操作系统下国内外主流图形开发系统的设计原理,采用了基于控件技术的层次化设计和面向对象的设计方法,实现了一种在VxWorks实时操作系统下具有自主知识产权的人机界面图形开发系统JARI EGK.通过多个项目中的应用验证,JARI EGK在功能和性能方面能够满足基于VxWorks实时系统的窗口图形界面开发要求.%According to the disadvantages of graphics interface design under the real-time embedded operation systems VxWorks, and combining with the Multifunction Console projects, this paper analyzes the design principle of graphical user interface library at home and abroad, and adopts the architecture of hierarchical design and object-oriented programming. One kind of graphical user interface library(JARI_EGK) which possesses independent intellectual property rights is realized and used successfully. Through applied to many projects,JARI_EGK is proved to satisfy the requirement of developing graphical interfaces based on Vx Works real-time system.【期刊名称】《指挥控制与仿真》【年(卷),期】2011(033)004【总页数】4页(P117-120)【关键词】JARI EGK控件;VxWorks;多功能标准台【作者】刘东涛;肖峰【作者单位】海军驻426厂军事代表室,辽宁大连116015;江苏自动化研究所,江苏连云港222006【正文语种】中文【中图分类】TP311.521 嵌入式人机界面开发面临的问题VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统,是嵌入式开发平台的关键组成部分[1]。
嵌入式实时操作系统VxWorks中的图形界面设计_梁勇
23. 4.’567 $8 9%+:35,+; <7*.%8+,.’ 57 =>).11.1 ?.+;@*5>. A:.%+*576 B/’*.> !"#$%&’
D9I(KJL%7M<="= 3,(K N12%"= D9O G1-JP17M> ?<’(27Q17M O71R-041/P %S S1727.- 8 ,.%7%61.4= (27Q17M "<)))>= TU172V "’ :%5/U-24/ O71R-041/P= (27Q17M "<))+@= TU172V >’ W1&17 H0%R17.- 32.U271.2X ,Y51;6-7/ T%6;&-/- :-/ H5Z&1. [1CC17M T%6;27P= TU27M.U57 <>))*<= TU172A ()’*%+,*\ GU- C-41M7 %S M02;U1. 17/-0S2.-4 17 -6Z-CC-C 0-2& J/16- %;-02/1%7 4P4/-6 $EB%0F4 ]1/U B17C3D"’) 14 -E;2/12/-C 17 /U14 ;2;-0’ GU- .%6;%7-7/= S57./1%7= 54- %S B17C3D= /U- 16;0%R-6-7/ %S Z1/62; 27C TU17-4- C14;&2P 20- 2&4% C14.544-C’ -./ 0$%1’\ -6Z-CC-C 0-2&J/16- %;-02/17M 4P4/-6V $EB%0F4V M02;U1.2& 17/-0S2.-4V ]17C3D C 前 言
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
// 定义事件路由 ID
UGL_APP_ID appId;
// 定义应用程序 ID
UGL_WINDOW_ID windowId;
// 定义窗口 ID
uglInitialize( );
// 初始化
uglDriverFind (UGL_DISPLAY_TYPE, 0, (UGL_UINT32 *)&devId); //获得显示设备 ID
中的窗口的最小化和关闭功能。
3.8 一个实例
下面通过一个程序实例来简单说明一下利用 WindML 进行图形界面开发的过程。下面给出部分程序代
码并加以说明。
……
UGL_GC_ID gc;
//定义图形上下文
UGL_DEVICE_ID devId;
//定义显示设备 ID
UGL_FONT_DRIVER_ID fontDrvId;
关键词:嵌入式实时操作系统;VxWorks;图形界面;WindML
1 VxWorks 及 WindML 简介 [1,2]
VxWorks 操作系统是美国 WRS(Wind River Systems Inc.)公司于 1983 年设计开发的一种嵌入式实时 操作系统(Embedded RTOS),VxWorks 自 80 年代初开始涉足商业化嵌入式实时操作系统以来,依据其良好 的持续发展能力、高性能的内核及友好的用户开发环境,同时支持多种微处理器,是目前嵌入式系统领域 中使用广泛,市场占有率较高的系统之一。它被广泛地应用在通信、军事、航空、航天等高精尖技术及实 时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
WindML 即 Wind Media Library(媒体库),它是 VxWorks 库的一部分,它支持多媒体程序运行于嵌入 式操作系统,WRS 公司设计它主要是用来提供基本的图形、视频和声频技术以及为用户提供一个开发标准 用户设备驱动程序的框架。并且,WindML 提供了一系列工具用来处理输入设备和过程事件。以上这些功 能绝大部分都由 WindML 提供的 API 来完成。
利用 WindML 进行图形界面开发,首先要对 WindML 进行相应的配置和编译,然后将 WindML 加载到 VxWorks 内核。当 WindML 配置和添加完成后,就可以在 VxWorks 的开发环境 Tornado 中进行编程,从而实 现图形界面的开发。利用 WindML 可以实现二维图形的绘制,文本的显示,鼠标和键盘等输入设备的响应, 区域和窗口的绘制等等功能。
3.7 扩展功能的实现 WindML 本身不支持中文显示,因此要想实现中文显示,可以利用 WindML 对双字节编码的支持,实现 对汉字的点阵存储、点阵获取、点阵显示的全过程,并利用 WindML 的双字节显示函数实现汉字码到汉字
的显示 [4] 。这种方法需要自己编写汉字字库,然后将汉字字库添加进 WindML 的内核,显示中文的编程方
法和文本显示是一样的,只要将汉字当作双字节显示即可,不过这种方法具有局限性,就是能显示的中文
必须是汉字字库里的,这样能显示的汉字受到所添加的汉字字库的限制。
WindML 组件中提供的窗口 API 不能实现 Windows 系统中的窗口功能, 但是我们可以利用 WindML 现有
的功能仿真实现,现在简要阐述一下实现过程。首先,我们利用 WindML 的窗口 API 画出窗口外观,然后
3.1 配置和编译 WindML 在第一次使用 WindML 前,必须要配置 WindML,WindML 配置有两种方法:一是通过 Tornado 下的 WindML 配置工具配置 WindML,二是通过命令行方式配置 WindML。一般都是使用配置工具来完成 WindML 的配置,
如果使用配置工具不能满足配置要求,也可以通过命令行方式配置 WindML。在通过配置工具配置 WindML 时,配置选项包括处理器的选择,图形设备配置,输出设备配置,字体配置,音频配置和杂项配置。用户 可以根据自己的要求,选择合适的配置。选好配置后,直接按配置工具上的编译按钮即可进行编译。
在窗口的最上方用不同颜色画一个与窗口同宽的矩形来模拟窗口的标题栏,在标题栏的左上角可以写字,
在右上角可以画出最小化图标和关闭图标,当鼠标点击最小化图标区域,就将当前窗口关闭,在屏幕的左
下角重新画出一个小矩形窗口来作为最小化后的窗口,当鼠标再次点击最小化后的窗口时,再在原来的窗
口位置重新画一下窗口;当鼠标点击关闭图标区域时,将当前窗口关闭即可。这样就模拟了 Windows 系统
基于嵌入式实时操作系统 VxWorks 的 WindML 图形
界面开发方法
蔡华,卞新高, 史中权,丁坤
(河海大学 机电工程学院,江苏 常州 213022)
摘要: 本文简要介绍了嵌入式实时操作系统 VxWorks 的媒体库 WindML,讨论了 WindML 图形界面开发方法,通过实例详细 阐述了 WindML 的配置和加载、二维图形的绘制、文本显示、鼠标和键盘等输入设备的响应以及区域和窗口的绘制等功能的 实现方法。
gc = uglGcCreate(devId);
// 创建图形上下文
……
uglDriverFind (UGL_FONT_ENGINE_TYPE, 0, (UGL_UINT32 *)&fontDrvId);
uglFontDriverInfo(fontDrvId, UGL_FONT_TEXT_ORIGIN, &textOrigin);
// 获得字体驱动
uglFontFindString(fontDrvId, "familyName=Song; pixelSize = 16", &fontDef);
if ((fontText= uglFontCreate(fontDrvId, &systemFontDef)) == UGL_NULL)
// 定义字体驱动 ID
UGL_FONT_ID fontText;
// 定义字体 ID
UGL_FONT_DEF fontDef;
UGL_EVENT_SERVICE_ID eventServiceId;
// 定义事件服务 ID
UGL_EVENT event;
// 定义事件
UGL_EVENT_ROUTER_ID eventRouterId;
2 WindML 的结构 [3]
WindML 包 括 两 个 组 件 : 软 件 开 发 包 (Software Development Kit,SDK)和驱动 程序开发包(Driver Development Kit , DDK)。SDK 组件用于为各种平台开发与硬件无 关的应用。它在图形、输出处理、多媒体、字 体和内存管理方面提供了完整的 API。DDK 用 于开发驱动程序。它提供了一整套可用于通用 硬件配置、软件框架的参考驱动程序,以及支 持开发人员从提供的“通用”代码快速创建 新驱动程序的 API。WindML 的层次结构见图 1。
{
printf("Font not found. Exiting.\n");
return;
}
// 查找及生成匹配字体
uglFontSet(gc, fontText);
// 设置字符样式
应用程序
图形、音频、视频、及事 件服务程序
VxWorks
输出驱动程序
输入驱动程序 ...
输出设备 (如:显示器)
输入设Байду номын сангаас (如:鼠标)
...
图 1 WindML 的层次结构 Fig.1 WindML layered structure
SDK 硬件 无关层
DDK 硬件 相关层
硬件
3 WindML 的图形界面开发方法
3.2 加载 WindML 配置和编译好 WindML 后,可以使用 Tornado 工程管理工具把 WindML 加载到 VxWorks 映像里,加载时, 可以根据自己的需要进行相应的选择。一般对于图形界面的开发,我们只要将 2D graphics 和 complete 2D library 添加进 VxWorks 即可。 3.3 图形初始化 WindML 配置和加载完成后,就可以用 WindML 进行编程。编程时,必须首先调用函数 uglInitialize() 完成初始化。接着要进行颜色的配置,WindML 的图形界面是以像素为单位的,一般采用配色表来选择颜色, 先在配色表上配置好每一种颜色的 R、G、B 值,并用其在配色表中的索引值来代表这种颜色。当配置好颜 色后,还要创建图形上下文(GC),图形上下文包含了绘图的特征信息,大部分的绘图操作只有通过指定 图形上下文,定义了绘图特征才能进行。WindML 使用函数 uglGcCreate()来创建图形上下文,创建 GC 后 就可以进行画图的基本设置,如图形的前景色和背景色,线的类型和线宽,图形的填充模式,默认的位图, 光栅覆盖模式,当前使用的字体等等。 3.4 二维图形的绘制及文本的显示 当完成初始化后,就可以调用 WindML API 函数来完成二维图形的绘制。WindML 具有画直线、矩形、 椭圆、点、多边形等简单图形的功能,也就是提供了画这些二维图形的函数,例如绘制直线的函数 uglLine(), 绘制矩形的函数 uglRectangle()等等。WindML 可以使用多线程或多任务,但资源是一定的,为防止多线 程之间产生资源冲突,需要使用互斥信号量锁定资源。WindML 中,一般在使用一组画图函数前,用 uglBatchStart(gc)通过互斥信号量锁定图形上下文、图形设备及缓冲,并且隐藏光标。在画图操作完成 后,再用 uglBatchEnd(gc)释放被锁定的资源以被其他的画图函数所使用。 WindML 文本渲染和字体管理 API 提供了方便的文字显示方法。在文本显示之前由函数 uglInitialize() 完成字体驱动和字体引擎的初始化。然后使用函数 uglDriverFind()获得字体驱动的 ID,再由函数 uglFontDriverInfo()设置字体驱动程序。由于许多嵌入式系统只提供少数的有限字体选择,因此一般还 需要应用函数 uglFontFindString()找到系统提供的与所要显示字体属性最相匹配的字体。当一个字体找 到后,由函数 uglFontCreate()生成该字体。当要使用一个已经创建了的字体时,必须首先使用函数 uglFontSet()将该字体的 ID 选入图形上下文(GC),然后就可以使用显示函数 uglTextDraw()(uglTextDrawW 用于双字节)用当前图形上下文中的字体在显示器上显示文本。 3.5 鼠标和键盘的响应 一般情况下,图形界面需要通过鼠标和键盘等输入设备实现一定的人机交互。WindML 的事件服务程 序是用来处理输入设备的输入请求的。它会把键盘、鼠标等输入设备输入的数据转化为事件并且传送给事 件句柄,送到应用队列中。要实现键盘和鼠标的响应,必须要产生事件消息队列,然后对输入事件进行判 别,当是键盘事件时,根据键盘的输入,响应键盘;当是鼠标事件时,根据鼠标的动作,响应鼠标。另外, 鼠标的光标可以在鼠标初始化时定义,可以实现各种形状、各种大小以及各种颜色的鼠标光标外形。 3.6 区域和窗口的绘制 WindML 的区域管理 API 可以在界面上定义一个区域,这个区域是由一组矩形区围绕而成,可以在这个 区域里画二维图形。如果是更为复杂的应用程序,或者要在多任务或多线程之间共享显示,则要用到窗口 API。窗口 API 可以创建、显示和操作多个窗口,并且可以处理这些窗口中的事件。窗口可以移动,改变 大小,重叠,或者放在其他窗口内部。这样,多个任务就可以在一个屏幕上的不同窗口内同时显示图形了。 绘制区域一般是先通过函数 uglRegionCreate()来创建区域,然后就可以在创建的区域里画二维图形,同 时可以通过函数 uglRegionRectInclude()包含一个矩形到区域里和 uglRegionRectExclude()从区域里去 除一个矩形。还可以通过区域的相关函数进行区域的移动,复制,清除等等操作。而绘制窗口则要创建事 件路由,并要创建窗口应用上下文。窗口除了具有区域的功能外,还可以响应外界的鼠标、键盘等输入设 备的事件。具体的程序实现方法可以参见下面的实例。