基于WinCE的OLED驱动程序设计
随着计算机技术和嵌入式技术的迅猛发展, 嵌入式软、硬件设计需求越来越广泛, 嵌入式软件开发, 特别是嵌入式软件的驱动开发, 成为一个热点。
本文引用地址://m.amcfsurvey.com/article/273004.htmWindows CE 是一个新的、可移植的、实时的、模块化的操作系统,具有简捷、高效的完全抢先式多任务操作核心, 支持强大的通信和图形显示功能, 能够适应广泛的系统需求, 在最新一代的工业和家用电子设备中得到了广泛的应用。
在进行嵌入式Windows CE 项目开发的过程中, 经常需要根据需求定制显示屏, 如何为定制的显示屏开发Windows CE 驱动程序成为嵌入式系统开发的关键步骤。本文在深入研究Windows CE 驱动程序工作原理的基础上, 以维信诺VGG13264C 132×64OLED显示模块的WindowsCE 驱动程序设计为例, 详细阐述了嵌入式Windows CE 驱动程序的开发过程, 并对设计实现的驱动程序进行了测试。
1 Window CE 的系统体系结构
Windows CE 是微软设计开发的一种可升级的抢先式多任务32 位实时操作系统。一个基于Windows CE 的平台主要由以下几部分组成:Windows CE 内核组件、OAL 层和驱动程序。OAL 层和驱动程序作为目标设备和Windows CE 内核组件之间的接口, 将操作系统上层与硬件隔离, 便于支持硬件扩展和即插即用功能,图1 详细描述了三者之间的关系。
![](http://editerupload.eepw.com.cn/201504/97486d414508e25ebbb8196f99605b3f.jpg)
2 Windows CE 中断处理
Windows CE 将中断处理分为两个步骤: 中断服务例程(ISR) 和中断服务线程(IST)。把每个硬件的设备中断请求(IRQ) 和一个ISR 联系起来, 当一个中断发生并未被屏蔽时, 内核调用该中断注册的ISR.因为ISR 运行于内核模式, 所以应设计得尽可能短,ISR 引导内核调度和启动合适的IST,IST 在设备驱动程序软件模块中编写, 运行于用户模式, 它从硬件获取或向硬件发送数据和控制代码, 并进一步处理设备中断。Windows CE 还提供了中断嵌套功能, 即在一个ISR 运行时, 内核并不关闭中断, 当优先级比之高的中断发生时, 内核保存当前执行的中断服务例程ISR 的运行状态, 挂起该ISR,转而执行更高优先级中断的ISR.等到高优先级中断的ISR执行完后, 被挂起的低优先级中断的ISR 才重新开始被CPU 调度执行。Windows CE 的中断处理框图如图2 所示。
![](http://editerupload.eepw.com.cn/201504/8f907c09ea7a2c59fe6179c17d045e6d.jpg)
3 Windows CE 设备驱动程序
设备驱动程序将操作系统和设备连接起来, 使操作系统能够识别设备, 并为应用程序提供服务。
3.1 设备驱动程序模型
Windows CE 提供了用于驱动开发的模型,其中包括来自其他操作系统的驱动程序模型。
因为有这些多变的驱动程序模型, 使Windows CE可以适应大部分的内部和外围设备。目前,Windows CE提供了4 种设备模型, 其中两种是专用于Windows CE模型, 另外两种外部模型来自其他的操作系统, 汇总如图3 所示。
![](http://editerupload.eepw.com.cn/201504/1bc2ed0f10fea61e9ad31f44c6db73dc.jpg)
3.2 本机驱动程序
要把Windows CE 移植到目标平台上, 必须为平台上已建立的设备提供驱动程序。一些类型的设备, 如键盘、显示器和PC 卡插槽等对操作系统都有一个自定义接口。因为这些接口是专门用于Windows CE 的, 所以称这类驱动程序为本机驱动程序。Windows CE 平台生成器提供本机设备驱动程序的样本, 可考虑把本机设备驱动程序样本应用到平台上, 而不需要再从头开发自己的本机驱动程序。用户可根据驱动程序样本快速开发自己的驱动程序。
逆变器相关文章:逆变器原理
可控硅相关文章:可控硅工作原理
逆变器相关文章:逆变器工作原理
比较器相关文章:比较器工作原理
评论