首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于WindML的VxWorks图形驱动研究 02

基于WindML的VxWorks图形驱动研究 02

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即可,不提供加速器。
返回列表