新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于S3C2440的WindML图形驱动设计

基于S3C2440的WindML图形驱动设计

作者: 时间:2010-10-19 来源:网络 收藏


2D层与图形驱动程序通过ugL_ugi_driver结构进行通信。结构中的每一个功能指针对应一个执行相应图形显示操作的驱动程序。2D层不直接调用驱动程序,它通过结构功能指针调用驱动程序。实现如下:

VxWorks操作系统下,所有的设备必须通过调用xxxDevCreate()程序创建。这个函数是设备驱动以及设备最初功能的主要入口,uglInit-ialize()程序在WindML初始化时调用xxxDevCreate()。xxxDevCreate()程序需要完成以下功能:
(1)分配驱动图形结构。该结构已在驱动头文件里定义。
(2)利用硬件抽象层打开图形设备。分配了驱动结构之后,硬件抽象层将被用来打开图形设备,校验是否能被写入和映射设备到虚拟内存。在此过程中,图形设备的基地址和寄存器将被定义。
(3)初始化驱动控制结构。在确定图形设备可以被访问之后,初始化驱动控制结构。
(4)设置设备为静止状态。校验了设备之后,驱动对图形设备进行最小初始化,并设置其为静止状态。图形设备设置为静止状态需要以下操作:屏蔽图形相关中断;调用uglGenericClutCreate()初始化调色板;初始化图形芯片的内存控制器;如果需要,则关闭显示。
(5)返回指向驱动结构的指针。如果xxxDevCreate()函数执行成功,则返回一个指向ugl_ugi_driver结构的指针。如果xxxDevCreate()函数执行失败,则返回NULL。
此外,驱动程序还必须支持一个信息控制程序,xxxinfo()。这个程序允许应用访问驱动提供的支持,并且控制各种选项。在获得画面缓冲器的特征、获得基色的信息和以为图形设备扩展一个实例等方面会用到xxxinfo()。

3 键盘驱动程序设计
基于I2C总线键盘芯片ZLG7290的芯片内部已实现键盘去抖动及连击键等处理,简化了驱动程序的处理。WindML输入设备驱动负责完成接收连接在系统上设备的原始数据,执行原始数据的转换,以及将输入数据放到消息队列中供高层软件调用,如图3所示。



关键词: 音频

评论


相关推荐

技术专区

关闭