| 网站首页 | 科技前沿 | it产品项目 | 软件项目 | 硬件项目 | 发明专利 | 商业城 | 资源中心 | 博客 | 论坛 |  子站: it客栈 多奥网
会员中心
会员注册
繁體中文
推荐:索引 linux arm 手机 嵌入式 os wince dsp 音乐 游戏
 站内搜索:
项目资讯 资源中心
您现在的位置: 爱问科技网 >> 软件项目 >> WinCE >> 文章正文
Windows CE下驱动程序开发基础           ★★★★
Windows CE下驱动程序开发基础
作者:佚名 文章来源:不详 更新时间:2006-11-23 19:28:19

Windows CE下驱动程序开发基础


http://www.sina.com.cn 2005年03月25日 18:21 天极yesky

  文/付林林

  这是我从1月6日开始主持天极网论坛嵌入式开发版以来第一次发表文章,加上以前琐碎的文章共计30篇。研究的越多就越感觉自己懂的太少,其实在驱动开发方面我还是个菜鸟,我是想再次抛砖引玉,让做驱动有N年经验的人奉献一点出来,让大家减少一些研究驱动源码而又缺少注释所带来的痛苦。

  我想即使读者看过微软的关于驱动开发的培训教材和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层代码。SER16550子目录包含的一系列函数专用于控制与16550兼容的UART,这样PDD层的主要工作就是调用SER16550中的函数。还有一个ISR16550子目录包含的是串口驱动程序专用的可安装ISR(中断服务例程),而很多硬件设备驱动程序采用CE默认的可安装ISR giisr.dll。一般串口设备相应的注册表设置例子及意义如下:

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial_1]


键 意义 "SysIntr"=dword:13 串口1的中断ID为十进制13 "IoBase"=dword:02F8 串口1的IO空间首地址为十六进制2F8 "IoLen"=dword:8 串口1的IO空间长度为8个字节 "DeviceArrayIndex"=dword:0 串口1的索引,是1的由来 "Order"=dword:0 串口1驱动的加载顺序 "DeviceType"=dword:0 串口1的设备类型 "DevConfig"=hex: 10,00 .... 串口1在与Modem设备通讯时的配置,如波特率、奇偶校检等 "FriendlyName"="COM1:" 串口1在拨号程序中显示的名字 "Tsp"="Unimodem.dll" 串口1 被用于与Modem设备通讯的时候要加载的TSP(TAPI Service provider)DLL "Prefix"="COM" 串口1的流接口的前缀 "Dll"="com16550.Dll" 串口1的驱动程序DLL


文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    相关文章
    EJB 最佳实践:工业强度…
    关于在 win2000 下安装 …
    获取Windows / System /…
    print+Photoshop超简易上…
    ASP中使用Form和QuerySt…
    献给linux下的perl黑客们…
    Java中finalize()的另类…
    Merlin 的魔力:不确定的…
    Resin虚拟主机设置篇之I…
    [JAVA100例]076、在Appl…
    更多内容
    专题栏目
    更多内容
    最新推荐 更多内容
    | 设为首页 | 加入收藏 | 关于我们 | 版权申明 | 友情链接 | 谷歌 雅虎 百度 | 管理登录 | 

    爱问科技网
    爱问科技网

    21aw@21aw.com
    粤icp备06099319