首页|嵌入式系统|显示技术|模拟IC/电源|元件与制造|其他IC/制程|消费类电子|无线/通信|汽车电子|工业控制|医疗电子|测试测量
首页 > 分享下载 > 消费类电子 > Windows CE下驱动开发基础

Windows CE下驱动开发基础

资料介绍
Windows CE下驱动开发基础
Windows CE下驱动开发基础

  我想即使读者看过微软的关于驱动开发的培训教材和CE帮助文档中的驱动部分,头
脑中仍然一片茫然。要想真正了解驱动程序必须结合一些驱动程序源码,在此我以串口
驱动程序(COM16550)中初始化过程为线索简单讲一讲驱动开发的基础知识。
  Windows
CE下的串口驱动程序能够处理所有I/O行为类似串口的设备,包括基于16450、16550
UART(通用异步收发芯片)的设备和一些采用DMA的设备,常见的有9针串口、红外I/O口
、Modem等。在%_WINCEROOT%\Public\Common\OAK\Drivers\Serial目录下,COM_MDD2子
目录包含新的串口驱动MDD层函数代码。COM16550子目录包含串口驱动PDD层代码。SER1
6550子目录包含的一系列函数专用于控制与16550兼容的UART,这样PDD层的主要工作就
是调用SER16550中的函数。还有一个ISR16550子目录包含的是串口驱动程序专用的可安
装ISR(中断服务例程),而很多硬件设备驱动程序采用CE默认的可安装ISR
giisr.dll。一般串口设备相应的注册表设置例子及意义如下:
[pic]
SysIntr由CE在文件Nkintr.h中预定义,用于唯一标识中断设备。OEM可以在文件Oalint
r.h中定义自己的SysIntr。常见的预定义SysIntr有SYSINTR_NOP(中断只由ISR处理,I
ST不再处理),SYSINTR_RESCHED(重新调度线程),SYSINTR_DEVICES(由CE预定义的
设备中断ID的基值),SYSINTR_PROFILE、SYSINTR_TIMING、SYSINTR_FIRMWARE等都是基
于SYSINTR_DEVICES定义的。IoBase是串口1的IO地址空间的首地址,IoLen是I
标签:Windows下驱动开发基
Windows CE下驱动开发基础
本地下载

评论