Chinaunix首页 | 论坛 | 博客
  • 博客访问: 326202
  • 博文数量: 90
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 694
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-22 10:51
文章分类

全部博文(90)

文章存档

2011年(3)

2010年(35)

2009年(52)

我的朋友

分类: WINDOWS

2009-08-21 12:37:25

这里以micro2440的看门狗watchdog为例:

 

1smdk2440\drivers目录下建立WDGdriver,在该目录创建以下几个文件:

 

1makefile

       !INCLUDE $(_MAKEENVROOT)\makefile.def

2WDGdriver.def

LIBRARY   WDGdriver

 

EXPORTS

       WDG_Init

       WDG_Deinit

       WDG_Open

       WDG_Close

       WDG_Read

       WDG_Write

       WDG_PowerDown

       WDG_PowerUp

       WDG_IOControl

       WDG_Seek

 

说明:exports主要是导出在书写看门狗时,底层内核API函数的声明

 

(三)source

PREPROCESSDEFFILE=1

DEFFILE=WDGdriver.def

RELEASETYPE=PLATFORM

TARGETDEFNAME=WDGdriver

TARGETNAME=WDGdriver

TARGETTYPE=DYNLINK

DLLENTRY=DllEntry

 

INCLUDES=\

                     $(_TARGETPLATROOT)\inc; \

          $(_COMMONOAKROOT)\inc; \

           $(_PUBLICROOT)\common\oak\inc;$(_PUBLICROOT)\common\sdk\inc;$(_PUBLICROOT)\common\ddk\inc;  \

      ..\..\inc

    

TARGETLIBS= \

       $(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib \

       $(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ceddk.lib \

      

CDEFINES=$(CDEFINES)  -watchdog

 

SOURCES = \

       WDGdriver.cpp \

 

说明:

以上红色部分是对应在WDGdriver目录下的文件名及文件名加它的扩展名,当然里头还有编译选项,链接头文件,以及库文件,以后在书写像此类驱动代码时,对于source文件来说,可以把上头做为一个模板。

 

 

 

2、在配置文件platform.bib中加入以下内容:

;WDGdriver                       解析说明

WDGdriver.dll                    $(_FLATRELEASEDIR)\WDGdriver.dll    NK  SH  

 

其中platform.bib 及以下第三点的platform.reg文件都是在:

Wince500\platform\smdk2440\files目录下找到的

 

3、在注册表文件platform.reg加入以下内容:

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\WDGdriver]

   "Prefix"="WDG"

   "Dll"="WDGdriver.dll"

 

 

说明:

第一条语句:[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\WDGdriver]

WDGdriver 要对应以上在第1点时,所创建的驱动目录名

 

第二条语句:"Prefix"="WDG"

WDG           表示设备驱动名称,也就是在书写应用程序运用creatfile函数,打开的文件名就是WDG1,要记得在后头加个1,这是在wince下面为了区分多个看门狗驱动时的索引区分。

 

第三条语句:WDGdriver.dll

表示Dll文件,就是叫做WDGdriver.dll,而这个文件在platform.bib文件中已经被建立了。

 

 

4platform/BSP/drivers 目录下的dirs文件,加入WDGdriver,否则会无法复制WDGdriver.dll

阅读(1211) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~