您的位置:首页 > 其它

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

2012-11-19 23:53 399 查看
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没有后缀。Obj和build.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与应用程序一起下载到开发板即可运行

附:驱动源文件和应用程序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: