用户中心

资讯 > 人机界面

VxWorks操作系统图形模式下显卡驱动设计

来源:时代电子公司第771所加固机工程部2006.08.10阅读 4694

       摘要:本文简要的叙述了基于VxWorks操作系统WindML基础上图形驱动开发。给今后的开发者提供参考和借鉴。
 
      关键词:VxWorks  WindML  图形  显卡  驱动程序
 
       1 介绍
       WindML即Wind Media Library(媒体库),它支持多媒体程序运行于嵌入式操作系统CONTROL ENGINEERING China版权所有,风河公司设计它主要是用来提供基本的图形、视频和声频技术以及提供一个设计标准设备驱动程序框架。
WindML API库提供了一个统一的图形硬件接口以及处理输入设备和输入设备事件的能力。
WindML有以下几个设计目的:
●     简单。WindML提供一个灵活的图形源语集、基本的视频和声频功能;
●   

;  硬件便宜。可以在多种CPU体系结构上使用;
●     操作系统便宜。可以在多种RTOS系统上使用;
驱动程序开发的容易。提供给开发者一个定制设备驱动程序的机理。
 
       2  WindML结构
       WindML包括两个组件――软件开发包(SDK)和驱动程序开发包(DDK)。
SDK组件用来开发应用程序控制工程网版权所有,它提供了一个全面的API集控制工程网版权所有,包括图形、输入处理、多媒体、字体和内存管理。


      DDK组件是用来实现驱动程序的,它提供了一个完整的驱动程序参考集,包括硬件配置和API集,以使得开发者能够迅速的引导和使用自己的驱动程序。
WindML可以概括为如图1所示的结构:
 

VxWorks操作系统图形模式下显卡驱动设计如图


      3  UGL图形接口(UGI) API
      WindML提供了三种普通驱动程序CONTROL ENGINEERING China版权所有,你可以根据你所用的显卡来选择合适的驱动程序:
n 16位线性帧缓冲驱动程序。这对于16位具有线性帧缓冲彩色图形设备是适合的;
n 8位线性帧缓冲驱动程序。这对于8位具有线性帧缓冲彩色图形设备是适合的;
n 基于帧缓冲的普通象素驱动程序。这对于没有线性帧缓冲的设备或WindML不支持的色度使用的设备是适合的。因为这个驱动程序依靠象素操作,所以它的性能大大地下降了。
这三种驱动程序只是执行了最简单的硬件程序,所以如果你想充分发挥你显卡的性能,则需要重新编写相应的显卡驱动程序。
通过UGI API来访问图形驱动程序例程,UGI主要的接口机理是一个包含函数指针和不同的数据项的数据结构。函数指针允许2D层访问图形驱动程序。核心ugl_ugi_driver 数据结构如下:
typedef struct ugl_ugi_driver
{
/* Data Members */
UGL_MODE * pMode; /* display mode */
UGL_PAGE * pPageZero; /* First Page */
void * extension; /* optional driver extensions */
/* UGI function pointers */
/* General */
UGL_STATUS (* info) (struct ugl_ugi_driver * pDriverCONTROL ENGINEERING China版权所有,
UGL_INFO_REQ infoRequest, void *info);
UGL_STATUS (* destroy) (struct ugl_ugi_driver * pDriver);
/* Mode support */
UGL_STATUS (* modeAvailGet) (struct ugl_ugi_driver * pDriverCONTROL ENGINEERING China版权所有,
UGL_UINT32 * pNumModes, const UGL_MODE ** pModeArray);
UGL_STATUS (* modeSet) (struct ugl_ugi_driver * pDriverCONTROL ENGINEERING China版权所有,
UGL_MODE * pMode);
/* Color Support */
UGL_STATUS (* colorAlloc ) (struct ugl_ugi_driver * pDriver










































版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688