WindML相关知识和图形设备驱动程序开发(一)

1、介绍
WindML
Wind Media Library(媒体库),它支持多媒体程序运行于嵌入式操作系统,风河公司设计它主要是用来提供基本的图形、视频和声频技术以及提供一个设计标准设备驱动程序框架。
WindML API
库提供了一个统一的图形硬件接口以及处理输入设备和输入设备事件的能力。
WindML
有一下几个设计目的:
● 
简单。WindML提供一个灵活的图形源语集、基本的视频和声频功能;
● 
硬件便宜。可以在多种CPU体系结构上使用;
● 
操作系统便宜。可以在多种RTOS系统上使用;
● 
驱动程序开发的容易。提供给开发者一个定制设备驱动程序的机理。
2
WindML结构
    WindML
包括两个组件――软件开发包(SDK)和驱动程序开发包(DDK)。
SDK
组件用来开发应用程序,它提供了一个全面的API集,包括图形、输入处理、多媒体、字体和内存管理。
DDK
组件是用来实现驱动程序的,它提供了一个完整的驱动程序参考集,包括硬件配置和API集,以使得开发者能够迅速的引导和使用自己的驱动程序。
WindML
可以概括为如图11所示的结构:

11 WindML结构


2.1 SDK
这一层定义了应用程序代码和硬件驱动程序的接口,因此应用程序可以独立于硬件进行开发。
    SDK
提供了下列API集:
● 
图形芯片的初始化程序
● 
多媒体API,包括
2D图形
-区域管理
-窗口
-颜色管理
-视频支持
JPEG支持
-声频
● 
事件服务
● 
内存管理
● 
扩展API
● 
设备管理
2.2 DDK
DDK
是处于SDK和硬件之间的中间层,它直接与应用程序目标硬件设备接口,包括监视器、视频、声频、键盘和指示等设备。
对于大多SDK APIs都有相关的驱动程序级结构和API,比如,SDK原语uglRectangle( )就是用来划矩形给显示设备,它访问一个包含rectangle域的驱动程序结构,这个域就是执行划矩形操作的函数指针。
WindML
中定义了下列驱动程序种类:
– graphics
(图形)
这个驱动程序包括了用来分配颜色的函数指针和变量、执行drawing操作、内存分配和覆盖页管理。如VGABIOSMediaGx IGS图形驱动程序。
– video
(视频)
这个驱动程序作为一个扩展功能,用来实现图形驱动(在驱动程序结构的扩展部分分配空间)。它实现诸如视频启动、停止和流操作等功能,一个例子就是IGS视频扩展。
– fonts
(字体)
这个驱动程序包含字体大小和绘制操作的函数指针和变量,它使用图形驱动程序来显示信息。如BMFAGFA字体引擎。
– input
(输入设备)
这个驱动程序包含获得和格式化输入信息的函数指针和变量。如键盘、指示和触摸屏驱动程序。
– audio
(音频)
音频并不是一个真正的设备驱动程序,但是可以通过调用open( )close( )ioctl( )来实现。
下面几章将详细介绍这些驱动程序的创建和操作。

阅读原文

 

posted @ 2009-07-02 17:05  clara  阅读(5902)  评论(0编辑  收藏  举报