Window CE 6.0流驱动开发动态加载实验

amily:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"'>我是直接从51到ARM,受51的影响,在wince6.0下怎么编写应用程序控制开发板的LED,查了好多资料,并结合开发板提供的LED测试程序和led驱动,编写了一个简单的LED驱动和应用程序来控制开发板的LED!

 

所需硬件:开发板ok6410,

所需软件:vs2005,wince6.0

实验步骤:

第一大步:

1. 在相应的文件夹先新建几个必须的文件,需要注意的是,下面几个文件均是文本文件,根据需要更改后缀,makefile和sources没有后缀。Objbuild.log是编译自动生成的文件,不用管它!

 

也可以复制D:\WINCE600\PLATFORM\SMDK6410\SRC\DRIVERS\LED下的文件自行修改

 

2. 下面分别打开相应文件,并填写内容:

1)SLED.def中填入:

;******************************************************************************

LIBRARY          SLED

 

EXPORTS        SPL_Init  

                SPL_Deinit  

                SPL_Open  

                SPL_Close  

                SPL_Read  

                SPL_Write  

                SPL_Seek  

                SPL_PowerDown  

                SPL_PowerUp  

                SPL_IOControl

2)makefile填入:

!INCLUDE $(_MAKEENVROOT)\makefile.def

3)sources填入:

!if 0

Copyright (c) Microsoft Corporation.  All rights reserved.

!endif

!if 0

Use of this source code is subject to theterms of the Microsoft end-user

license agreement (EULA) under which youlicensed this SOFTWARE PRODUCT.

If you did not accept the terms of theEULA, you are not authorized to use

this source code. For a copy of the EULA,please see the LICENSE.RTF on your

install media.

!endif

 

!if "$(BSP_NOLED)" =="1"

SKIPBUILD=1

!endif

 

RELEASETYPE=PLATFORM

 

PREPROCESSDEFFILE=1

 

TARGETNAME=SLED

   

SOURCES= \

   SLED.cpp \

 

TARGETTYPE=DYNLINK

DLLENTRY=DllMain

CDEFINES=$(CDEFINES) -DLED_EXPORTS

TARGETLIBS= \

   $(_PROJECTROOT)\cesysgen\sdk\lib\$(_CPUINDPATH)\coredll.lib \

   $(_WINCEROOT)\PLATFORM\SMDK6410\lib\ARMV4I\retail\DriverLib.lib \

 

 

INCLUDES= \

   $(_WINCEROOT)\PUBLIC\COMMON\OAK\INC;$(_WINCEROOT)\PLATFORM\COMMON\SRC\INC;$(_WINCEROOT)\PUBLIC\COMMON\DDK\INC;$(_WINCEROOT)\PLATFORM\COMMON\SRC\SOC\S3C6410_SEC_V1\OAL\INC;$(_WINCEROOT)\PLATFORM\SMDK6410\SRC\INC\

其实需要我们改动就红色字体部分

 

TARGETNAME=SLED

   

SOURCES= \

    SLED.cpp \

 

4)在.cpp文件中添加相应驱动代码了。即实现如下函数

SPL_Init  

                SPL_Deinit  

                SPL_Open  

                SPL_Close  

                SPL_Read  

                SPL_Write  

                SPL_Seek  

                SPL_PowerDown  

                SPL_PowerUp  

                SPL_IOControl

 

第二大步;

 

1)只编译SLED即rebuild(前提时在以前已经clean sysgen)编译生成SLED.DLL文件

 

 

第三大步;应用程序的编写(动态加载)

这个没什么需要注意的地方,只是要注意是TEXT("GPO1:")即可。

hLed= CreateFile(TEXT("GPO1:"),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);

 

将生成的DLL与应用程序一起下载到开发板即可运行

附:驱动源文件和应用程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值