zoukankan      html  css  js  c++  java
  • (原创)利用EVC快速开发WINCE5.0的流驱动

    WinCE5.0提供了一个标准的流驱动格式,大大方便了设备驱动程序的开发工作。但是传统的开发方式往往效率很低。方法如下:

          1.在Platform Builder下建立一个流驱动的dll工程。

          2.为流驱动增加注册表项。如:

              [HKEY_LOCAL_MACHINE\Drivers\Builtin\IRControl] 
             "Prefix"="IRC" 
             "Dll"="irc.dll" 
             "Order"=dword:66 
             "Index"=dword:1
      

        3.修改platform.bib 文件,将流驱动的dll文件打包到NK.bin.

        4.MakeImg,生成包含流驱动的NK.BIN.

    整个过程烦琐,而且只要稍加修改,就要重先makeImg,大概要浪费3-5分钟.这种开发效率是很低的.

    下面2种介绍在EVC下快速开发WINCE流驱动的方法,是我自己亲身经验,拿出来与大家分享,也希望和各高手相互学习和探讨.

    WINCE的驱动,不象桌面windows驱动开发那样烦琐,windows驱动开发分好几种,如wdm啦,VXD啦,等等,开发这些驱动需要专门的开发环境和工具,给开发者带来比较高的技术门槛.所幸的是,WinCE的驱动开发,没有这么多的限制和门槛.而且应用程序可以直接和底层硬件打交道的(注:尽管这样,笔者还是不建议大家直接用应用程序访问底层硬件,这种做法是不安全的),甚至中断初始化,中断线程都可以在用户级的应用程序完成.所以给驱动开发带来了不少的便利.依我自己的经验来看,具体有以下2种方法.

    1.利用EVC生成驱动的DLL.

         1).新建一个evc的dll工程,将流驱动代码移植到evc代码中。

         2).编写导出文件*.def,将流驱动的10个标准函数导出.并在Project--->Setting--->Link--->Project options里面标注,如: /def:"IR.DEF" .(这一步如果不做,生成的驱动将不可用)

          3).编译代码,这个时候一般会出现一些错误,如找不到头文件或库文件等错误,请在wince的安装目录下找到相应的头文件和库文件,在Tools--->options--->Directories中指明头文件和库文件的路径。在Project--->Setting--->link中指定相应的*.obj文件(具体文件视源代码调用了哪些驱动和库,到wince的目录下找到这些obj文件链接进来即可)

          4).编写一个应用程序来调试驱动.利用RegisterDevice/DeRegisterDevice动态加载/卸载流驱动,模拟WinCE设备管理程序的功能. (笔者写了一个基于MIPS CPU的流驱动调试工具.欢迎下载试用https://files.cnblogs.com/Jade2009/CE_Driver_Assist.exe.rar

          以上这种方法,完全脱离了Platform Builder的开发环境,使驱动的开发和调试工作象开发应用程序一样轻松和快捷.可  以在驱动程序中利用RETAILMSG函数从UART口输出调试信息.

          下面再介绍一种方法,就是利用EVC将驱动程序写成exe,直接象调试应用程序一样调试驱动.最后将调试好的源代码移植到驱动程序的dll工程中去.具体方法和第一种方法类似,不同之处在于,前者是新建一个纯DLL工程(带导出函数),后者是新建一个MFC的exe工程而已.编译的头文件和库文件方法2者雷同.这种方法的好处是可以直接编译成evc的debug工程,可以在源代码中进行单步跟踪调试和设置断点,大大的提高了驱动程序的调试效率.

          

         

      

  • 相关阅读:
    self 和 super 关键字
    NSString类
    函数和对象方法的区别
    求两个数是否互质及最大公约数
    TJU Problem 1644 Reverse Text
    TJU Problem 2520 Quicksum
    TJU Problem 2101 Bullseye
    TJU Problem 2548 Celebrity jeopardy
    poj 2586 Y2K Accounting Bug
    poj 2109 Power of Cryptography
  • 原文地址:https://www.cnblogs.com/Jade2009/p/wince.html
Copyright © 2011-2022 走看看