技术开发 频道

八步教你 如何开发Windows CE驱动程序

    定义参数dpCurSettings,如:

  DBGPARAM dpCurSettings = {

  
//通常为模块名称

  TEXT(
"MyDriver"),

  {
//16个域的名称

  TEXT(
"Init"),TEXT("Actions"),TEXT("Exceptions"),TEXT(""),

  TEXT(
""),TEXT(""),TEXT(""),TEXT(""),

  TEXT(
""),TEXT(""),TEXT(""),TEXT(""),

  TEXT(
""),TEXT(""),TEXT("Warnings"), TEXT("Errors")

  },

  
//由系统默认为启用状态的域

  ZONEMASK_ERRORS
| ZONEMASK_EXCEPTIONS|ZONEMASK_INIT

  };

 

  使用相应的宏注册调试域,如下所示:

  DEBUGREGISTER():用于Debug构建,如果用于构建.exe程序的话,则以NULL作为参数。如果要构建为.dll程序的话,以handle作为其参数。

  RETAILREGISTERZONES():用于Retail构建和Debug构建,如果用于构建.exe程序的话,则以NULL作为参数。如果要构建为.dll程序的话,以handle作为其参数。

  您可以在驱动程序代码中包含所需的宏,具体参见下文。

  建立合适的OS构建(Debug或者Retail)。

  将映像装入设备。

  使用Platform Builder配置活动的调试域。

  下面我们介绍用于调试域的宏,如下所示:

  RETAILMSG ( , ):有条件地输出一个printf风格的格式化消息。

  RETAILLED (,):有条件地将WORD的值输出至LED。

  ERRORMSG( , ):有条件地输出一个printf风格的格式化ERROR消息,并带有错误所在文件名和行号。

  DEBUGMSG ( , ):有条件地输出一个printf风格的格式化消息。

  DEBUGLED (,):有条件地将WORD的值输出至LED。

  DEBUGCHK( ):为表达式建立一个断言,并且在表达式为FALSE的时候生成一个DebugBreak。

  DEBUGZONE():测试当前调试域设置中的掩码位。

  DEBUGREGISTER():仅在Debug构建时注册调试域。

  RETAILREGISTERZONES():在Debug构建和Retail构建时都注册调试域。

  9.小结

  本文为读者详细介绍驱动程序的实现方法,内容包括驱动程序的任务、缓冲区的处理、内存地址重建及调试域等。希望本文对您有所帮助。

0
相关文章