VxWorks操作系统图形模式下显卡驱动设计
1介绍
WindML即Wind Media Library(媒体库),它支持多媒体程序运行于嵌入式操作系统,风河公司设计它主要是用来提供基本的图形、视频和声频技术以及提供一个设计标准设备驱动程序框架。
WindML API库提供了一个统一的图形硬件接口以及处理输入设备和输入设备事件的能力。
WindML有以下几个设计目的:
● 简单。WindML提供一个灵活的图形源语集、基本的视频和声频功能;
● 硬件便宜。可以在多种CPU体系结构上使用;
● 操作系统便宜。可以在多种RTOS系统上使用;
驱动程序开发的容易。提供给开发者一个定制设备驱动程序的机理。
2 WindML结构
WindML包括两个组件――软件开发包(SDK)和驱动程序开发包(DDK)。
SDK组件用来开发应用程序,它提供了一个全面的API集,包括图形、输入处理、多媒体、字体和内存管理。
DDK组件是用来实现驱动程序的,它提供了一个完整的驱动程序参考集,包括硬件配置和API集,以使得开发者能够迅速的引导和使用自己的驱动程序。
WindML可以概括为如图1所示的结构:
3 UGL图形接口(UGI) API
WindML提供了三种普通驱动程序,你可以根据你所用的显卡来选择合适的驱动程序:
n16位线性帧缓冲驱动程序。这对于16位具有线性帧缓冲彩色图形设备是适合的;
n8位线性帧缓冲驱动程序。这对于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 * pDriver,
UGL_INFO_REQ infoRequest, void *info);
UGL_STATUS (* destroy) (struct ugl_ugi_driver * pDriver);
/* Mode support */
相关文章
- 2023-05-13多功能碳势测定仪的研制
- 2022-05-28典型移动增值业务分析
- 2022-06-25数字化车间布局模糊层次评价方法研究
- 2023-11-10一种测量大尺寸孔同轴度的新方法
- 2023-02-24指重测长仪的设计
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。