登录   |   注册
    准考证打印   论文投票   报考指南   论文辅导   软考培训   郑重申明  
您现在的位置:  首页 > 通信学苑 > 电信网络工程 >> 正文
正文
基于Windows CE的OLED驱动程序设计与实现
来源:尚大教育-通信学院 作者:辉辉 时间;2013-01-03 点击数: 尚大软考交流群:376154208
介绍了Windows CE 的体系结构和中断处理机制, 研究了Windows CE 设备驱动程序的类型和初始化过程,以维信诺VGG13264C 132×64 OLED 显示模块的WindowsCE 驱动程序设计为例, 详细阐述了嵌入 式Windows CE 驱动程序的开发过程。

   介绍了Windows CE 的体系结构和中断处理机制, 研究了Windows CE 设备驱动程序的类型和初始化过程,以维信诺VGG13264C 132×64 OLED 显示模块的WindowsCE 驱动程序设计为例, 详细阐述了嵌入 式Windows CE 驱动程序的开发过程。


  随着计算机技术和嵌入式技术的迅猛发展, 嵌入式软、硬件设计需求越来越广泛, 嵌入式软件开发, 特别是嵌入式软件的驱动开发, 成为一个热点。

  Windows CE 是一个新的、可移植的、实时的、模块化的操作系统,具有简捷、高效的完全抢先式多任务操作核心, 支持强大的通信和图形显示功能, 能够适应广泛的系统需求, 在最新一代的工业和 家用电子设备中得到了广泛的应用。

  在进行嵌入式Windows CE 项目开发的过程中, 经常需要根据需求定制显示屏, 如何为定制的显示屏开发Windows CE 驱动程序成为嵌入式系统开发的关键步骤。本文在深入研究Windows CE 驱动程序工 作原理的基础上, 以维信诺VGG13264C 132×64 OLED 显示模块的WindowsCE 驱动程序设计为例, 详细阐述了嵌入式Windows CE 驱动程序的开发过程, 并对设计实现的驱动程序进行了测试。

  1 Window CE 的系统体系结构

  Windows CE 是微软设计开发的一种可升级的抢先式多任务32 位实时操作系统。一个基于Windows CE 的平台主要由以下几部分组成:Windows CE 内核组件、OAL 层和驱动程序。OAL 层和驱动程序作为 目标设备和Windows CE 内核组件之间的接口, 将操作系统上层与硬件隔离, 便于支持硬件扩展和即插即用功能。

  2 Windows CE 中断处理

  Windows CE 将中断处理分为两个步骤: 中断服务例程(ISR) 和中断服务线程(IST)。把每个硬件的设备中断请求(IRQ) 和一个ISR 联系起来, 当一个中断发生并未被屏蔽时, 内核调用该中断注 册的ISR.因为ISR 运行于内核模式, 所以应设计得尽可能短,ISR 引导内核调度和启动合适的IST,IST 在设备驱动程序软件模块中编写, 运行于用户模式, 它从硬件获取或向硬件发送数据和控制代码 , 并进一步处理设备中断。Windows CE 还提供了中断嵌套功能, 即在一个ISR 运行时, 内核并不关闭中断, 当优先级比之高的中断发生时, 内核保存当前执行的中断服务例程ISR 的运行状态, 挂 起该ISR,转而执行更高优先级中断的ISR.等到高优先级中断的ISR执行完后, 被挂起的低优先级中断的ISR 才重新开始被CPU 调度执行。

  3 Windows CE 设备驱动程序

  设备驱动程序将操作系统和设备连接起来, 使操作系统能够识别设备, 并为应用程序提供服务。
  3.1 设备驱动程序模型

  Windows CE 提供了用于驱动开发的模型,其中包括来自其他操作系统的驱动程序模型。

  因为有这些多变的驱动程序模型, 使Windows CE可以适应大部分的内部和外围设备。目前,Windows CE提供了4 种设备模型, 其中两种是专用于Windows CE模型, 另外两种外部模型来自其他的操作系 统。

  3.2 本机驱动程序

  要把Windows CE 移植到目标平台上, 必须为平台上已建立的设备提供驱动程序。一些类型的设备, 如键盘、显示器和PC 卡插槽等对操作系统都有一个自定义接口。因为这些接口是专门用于Windows  CE 的, 所以称这类驱动程序为本机驱动程序。Windows CE 平台生成器提供本机设备驱动程序的样本, 可考虑把本机设备驱动程序样本应用到平台上, 而不需要再从头开发自己的本机驱动程序。用户 可根据驱动程序样本快速开发自己的驱动程序。

  3.3 流接口驱动程序

  流接口驱动程序由设备管理应用程序加载、管理和卸载, 与具有单独目的接口的本机驱动程序相比, 所有流接口驱动程序使用同一个接口并调用同一个函数集---流接口函数。流接口驱动程序把外设抽 象成一个文件, 使用标准文件I/O 函数和电源管理函数, 这些函数由Windows CE 操作系统的内核使用。流接口驱动程序的入口点函数为: XXX_ Init、XXX_Deinit、XXX_IOCONtrol、XXX_Open 、 XXX_Close 、XXX_PowerDown 、XXX_PowerUp 、XXX_Read 、XXX_Seek 、XXX_Write.

  流接口驱动程序从设备管理器和通过文件系统调用的应用程序接受命令, 装入驱动将这些命令翻译成其所控制设备的适当操作的所有信息。所有的流接口驱动, 无论它管理的是内置式设备还是可安装 式设备, 是系统引导加载还是动态加载, 它们与其他的系统组件都有类似的交互过程。

  3.4 设备驱动程序的初始化过程

  在Windows CE 中, 所有的设备驱动程序都以动态链接库(DLL) 的形式存在, 需要通过进程加载。设备驱动程序向外提供接口函数, 应用程序使用API 对设备进行访问。Windows CE 共有三类系统进 程用来加载驱动程序:Device.exe 、GWES.exe 、FileSys.exe .驱动程序的初始化过程为:设备上电---启动bootloader---启动NK.exe---启动Device.exe---初始化数据结构和I/O---加载总线枚举器- --枚举注册表Driver/BuildIn 下所有的子键。这里的枚举就是循环调用ActivateDeviceEx 函数加载驱动程序。

  4 Windows CE 开发流接口驱动程序实例

  以维信诺VGG13264C 132×64 OLED 显示模块的驱动程序为例, 具体阐述Windows CE 驱动开发的过程。
 
  4.1 硬件结构

  系统硬件以飞凌OK6410-B 开发板为主板, 以维信诺VGG13264C 显示模块为OLED 显示屏。

  随着嵌入式系统广泛应用到信息家电、工业控制、移动通信、互联网等领域, 大量嵌入式系统的开发必将对人类科技的发展起着重要的作用。本文介绍的基于嵌入式操作系统Windows CE 的驱动程序会 帮助读者开发出更多的嵌入式系统产品。
 相关文章
 
 
跟贴共
笔 名 :   验证码:
网友评论仅供其表达个人看法,并不表明尚大教育同意其观点或证实其描述
距离2023年10月14日通信考试还有