当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于VxWorks操作系统的图形显示有多种解决方案。VxWorks图形开发组件WIND MEDIA LIBRARY是一个适用于VxWorks下开发图形用户界面的媒体库,它提供了一系列的API函数,功能强

基于VxWorks操作系统的图形显示有多种解决方案。VxWorks图形开发组件WIND MEDIA LIBRARY是一个适用于VxWorks下开发图形用户界面的媒体库,它提供了一系列的API函数,功能强大,易于实现图形用户界面的开发。

鉴于此,本文介绍了图形设备的硬件结构以及图形设备驱动的体系结构,并重点阐述了windML下的VxWorks图形驱动程序开发的一般步骤。

1 VxWorks及WindML介绍

VxWorks操作系统是Wind River System公司(简称"风河公司")设计开发的一种嵌入式实时操作系统(RTOS),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境。它以其良好的可靠性和卓越的实时性被广泛应用在通信、军事、航空和航天等高尖技术及实时性要求极高的领域中,如卫星通信、军事演习、弹道制导和飞机导航等。

WindML(Wind Media Library,媒体库),支持基于嵌入式操作系统的多媒体应用程序,为多种操作系统提供基本的图形、视频、声频技术,并且提供了一个设计标准设备驱动程序的框架,WindML还提供了一系列工具用来处理输入设备和过程事件。

WindML包含两个组件:软件开发工具包(SDK)、驱动开发工具包(DDK)。

SDK用来实现应用程序的开发。它为图形、输入设备、多媒体、字体、内存管理等设备提供了一个全面的API集合,并且允许开发者在不同的硬件平台下完成独立于硬件的代码。

DDK用来实现驱动程序的开发。它提供了一系列通用硬件配置下的驱动参考程序,以及能够使开发者迅速开发出驱动程序的API集合。DDK具有可扩展性和可定制性。

2图形驱动的体系结构

WindML图形驱动主要通过以下3层进行通信:2D层、板级支持包及操作系统和图形硬件设备。体系结构如图1所示。

2.1 2D层

2D层与图形驱动程序通过UGL图形接口结构(ugL_ugi_driver结构)进行通信,ugL_ugi_driver结构在install-Dir/target/h/ugl/uglugi.h中定义。结构中的每一个功能指针对应一个执行相应图形显示操作的驱动程序。2D层不直接调用驱动程序,它通过结构功能指针调用驱动程序。举例如下:

如果应用需要画线,就要调用uglLine()。此函数在installDir/target/src/ugl/2d下执行,然后uglLine()通过UGL结构的线条程序指针调用设备驱动程序的线条驱动程序,驱动程序就把线条画在指定的位置。一些图形驱动程序在图形设备画图的地方运用了加速程序,驱动可以快速地为应用返回一个控制。有的图形驱动程序运用软件程序有效地把数据每次一个像素地写入目的位置。2D层并不知道图形驱动是怎样勾画线条,也不知道图形设备硬件是怎样操作的。UGI结构提供了一个提取层分离了2D层和图形驱动。

2.2板极支持包及操作系统

WIND MEDIA LIBRARY图形驱动程序通过硬件提取API与操作系统通信,硬件提取API提供了允许图形驱动保留独立于母板和CPU的接口。硬件提取API执行以下操作:

①映射设备到MMU;

②在引导时设置设备相关寄存器;

③返回图形设备的基地址及每一个地址偏移量。

2.3图形硬件设备

图形设备接口由图形硬件设备定义。对于一些图形设备,其接口是复杂的SVGA寄存器装置,好多寄存器为不同类型的输出提供特征以及屏幕尺寸的适时更新。这些设备一般包含几个可扩展的寄存器作为图形加速器。可加速的操作有线条、填充、颜色扩充、光标。有的图形设备相对比较简单,只需要连接LCD即可,不提供加速器。

3图形驱动的实现

根据以下步骤实现图形驱动。

3.1创建源文件及头文件目录

WIND MEDIA LIBRARY图形驱动目录结构如下:

①installDir/target/src/ugl/driver/graphics。图形设备所有的源代码都在此目录下。在此目录下,对应每一个图形设备厂商都有一个子目录,并且在相应的子目录下,根据不同的设备型号或者颜色深度又可建立下一级的子目录。

②installDirtargethugldrivergraphics。图形设备所有的头文件都在此目录下。在此目录下,对应每一个图形设备厂商都一个子目录。除了指定厂商的图形设备驱动程序之外,在同级子目录里还包含了通用的图形驱动程序,通用的驱动程序可以被所有的驱动程序所用。如果要添加新的图形设备驱动程序,只需在此图形驱动结构目录下建立相应厂商子目录。

3.2创建驱动头文件

驱动程序头文件是根据设备硬件定义的。部分信息必须在头文件里定义,这些信息注释了WIND MEDIA LIBRARY的其他部分如何访问图形驱动和驱动程序如何获得配置信息。

(1)图形驱动结构

图形驱动程序结构必须在头文件中由ugl_ugi_driver结构定义。此结构包含连同2D层接口一起的所有的驱动数据元素以及2D层访问图形驱动的功能指针。下面给出了一个图形结构的定义:

此结构指定图形设备为Chips。Chips由所用芯片决定,可选。因为它支持多种芯片类型及总线类型,所以此图形驱动结构可扩展多个数据元素,还可扩展多个附加的支持。

(2)配置管理

图形驱动程序必须从WIND MEDIA LIBRARY配置过程中获得配置信息。具体配置信息包括:显示解决方案;色彩格式及像素深度;添加、删除附加功能的元素缩放比例。

3.3实现设备创建程序

VxWorks操作系统下,所有的设备必须通过调用xxxDevCreate()程序创建。这个函数是设备驱动以及设备最初功能的主要入口,uglInitialize()程序在WIND MEDIA LIBRARY初始化时调用xxxDevCreate()。xxxDevCreate()程序是必需的,也是唯一一个存ugl_ugi_driver结构中没有对应的功能指针的函数。设备创建程序必须返回一个指向已初始化的ugl_ugI_driver数据结构指针,如果驱动创建函数初始化设备失败,则返回NULL指针标识错误。创建函数的功能原型为:

[!--empirenews.page--]

3.3.1输入参数

第1个参数instance为图形设备号。第2和第3两个参数可以根据设备驱动程序而改变,设备驱动程序可运用这两个参数做任何用途。

3.3.2驱动创建程序的必要处理

(1)分配驱动图形结构此结构已在驱动头文件里定义。

(2)利用硬件提取层打开图形设备

分配了驱动结构之后,硬件提取层将被用来打开图形设备,校验是否能被写入和映射设备到虚拟内存。在此过程中,图形没备的基地址和寄存器将被定义。

(3)初始化驱动控制结构

在确定图形设备可以被访问之后,初始化驱动控制结构。

(4)设置设备为静止状态

校验了设备之后,驱动对图形设备进行最小初始化,并设置其为静止状态。图形设备设置为静止状态需要以下操作:屏蔽图形相关中断;调用uglGenericClutCreate()初始化调色板;仞始化图形芯片的内存控制器;如果需要,则关闭显示。

(5)返回指向驱动结构的指针

如果xxxDevCreate()函数执行成功,则返回一个指向ugLugi_driver结构的指针。如果xxxDevCreate()函数执行失败,则返回NULL。

3.4实现信息控制程序

每一个驱动都必须支持一个信息控制程序,xxxinfo()。这个程序允许应用质问驱动提供的支持并且控制各种选项。在很多方面,xxxinfo()与标准控制函数ioctl()程序相似。以下应用会用到xxxinfo():

①获得画面缓冲器的特征,比如画面缓冲器的地址、视频存储的数量、显示的宽度和高度;

②获得基色的信息,比如索引的或直接的颜色模式、RGB或YUV色彩空间、色彩深度和索引色彩系统下的颜色查找表的大小;

③为图形设备例示一个扩展。

3.5实现设备销毁程序

每一个驱动都必须支持一个。xxxDevDestroy()程序。此程序释放系统资源和图形硬件设备。具体执行以下任务:

①释放已经分配的颜色表;

②释放所有的系统资源;

③释放其他指定驱动的资源;

④如果合适,则恢复图形硬件到原模式;

⑤释放驱动结构;

⑥关闭图形设备;

⑦返回操作的状态。

4结论

VxWorks图形显示有多种解决方案,但WindML其强大的功能不但为嵌入式产品提供了人性化的操作、维护界面,而且还提供了一系列API函数及多种设备通用驱动,可跨越大范围的CPU,有较高的硬件独立性,大大降低了开发人员在开发图形用户界面时的难度。因此,本文只论述了基于VxWorks图形开发组件WindML的图形显示方案。本方案已经成功运用,效果很好。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

VxWorks是一款广泛应用于嵌入式系统的实时操作系统(RTOS)。作为实时操作系统领域的领导者,VxWorks以其强大的功能和可靠性,在多个行业领域得到了广泛应用。本文将向读者简要介绍VxWorks系统,包括其定义、特...

关键字: VxWorks 操作系统 嵌入式

更加智能的农业用喷药机,为农民带来更大收益 伦敦2023年3月14日 /美通社/ -- 凯斯纽荷兰工业集团收购了Augmenta,加速发展创新的“感知与执行”技术...

关键字: 机器视觉 UG STATE FORWARD

北京2023年2月23日 /美通社/ -- 亚马逊云科技宣布与Hugging Face进一步合作,以加速对大语言模型和视觉模型的训练、精调和部署,促进生成式AI应用的创建。生成式AI应用可以执行各种任务,包括文...

关键字: FACE 亚马逊 UG AI

斩获152颗星级荣誉 上海2023年2月22日 /美通社/ -- 万豪国际集团中国区25家酒店上榜由全球奢华旅行评定机构《福布斯旅游指南》(Forbes Travel Guide)发布的2023年度酒店、餐厅...

关键字: 福布斯 BSP UG COM

美国华盛顿州柯克兰2023年2月1日 /美通社/ -- 近日,澳鹏Appen正式宣布任命Armughan Ahmad为首席执行官兼总裁。Armughan在科技行业拥有超过25年的经验,曾领导市值数十亿美元的技术企业拓展业...

关键字: APP ARM 人工智能 UG

德勤管理咨询提出后疫情时代全域消费者运营的模式框架和全域增长的六大心法。德勤管理咨询认为,品牌方的核心是重新回归消费者本身,以整合的思路看待营销触点和交易触点、线上和线下、公域和私域,围绕消费者一天24小时激活消费者的全...

关键字: 触点 UG

广告科技公司The Trade Desk委托调研公司YouGov进行的《抢滩北美:2022假日购物季营销洞察》显示,今年的美国假日季消费市场为中国品牌带来了巨大的营销机会。尽管面临通胀压力,但与2021年相比,今年的假日...

关键字: DES 流媒体 UG OV

摘要:针对扫地机器人底座的结构特点,设计了一套一模一腔注塑模具,主要包括分型面设计、浇注系统设计、冷却系统设计、型芯型腔设计、斜顶与推出机构设计。使用Moldflow软件对浇注系统和冷却系统进行了仿真,验证了设计的合理性...

关键字: 注塑模具 UG Moldflow

深度洞察旅游趋势 -- 近半数中国市场调研受访者渴望探索全新目的地,万豪旅享家将凭借30 个卓越非凡的酒店品牌及专属礼遇,助力会员开启梦想旅程 上海2022年10月8日 /美通社/ -- 万豪国际集团旗下屡获...

关键字: BSP UG RS OV

(全球TMT2022年6月9日讯)近日,浪潮"源1.0"大模型登顶中文语言能力理解和生成评测基准CUGE总榜榜首,并获得语言理解(篇章级)、语言生成、对话交互、多语言、数学推理等5项评测最佳成绩。 在语言...

关键字: 模型 UG GE 智能化
关闭
关闭