Window CE 6.0流驱动开发实验
2011-11-13 16:21
337 查看
Window CE 6.0流驱动开发实验
作者:桂林电子科技大学student
我是直接从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)SimpleDriver.def中填入:
;******************************************************************************
LIBRARY SimpleDriver
EXPORTS GPO_Init
GPO_Deinit
GPO_Open
GPO_Close
GPO_Read
GPO_Write
GPO_Seek
GPO_PowerDown
GPO_PowerUp
GPO_IOContro
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 the terms of the Microsoft end-user
license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
If you did not accept the terms of the EULA, 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=SimpleDriver
SOURCES= \
SimpleDriver.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=SimpleDriver
SOURCES= \
SimpleDriver.cpp \
4)在.cpp文件中添加相应驱动代码了。即实现如下函数
GPO_Init
GPO_Deinit
GPO_Open
GPO_Close
GPO_Read
GPO_Write
GPO_Seek
GPO_PowerDown
GPO_PowerUp
GPO_IOContro
第二大步;
1)打开dirs(驱动文件夹里)文件,添加:
SimpleDriver\
1)否则会在驱动后面出现添加excluded form build,这个用于在动态加载该驱动是单独编译出”.dll”驱动文件。
2)修改platform.reg文件(注册表选项)作用是当wince启动时,就会自动加载该驱动了
打开该文件,添加如下内容:
;================= LED ==================
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SLED]
"Prefix"="GPO"
"Dll"="SimpleDriver.dll"
"Order"=dword:0
"Index"=dword:1
注:platform.reg文件在D:\WINCE600\PLATFORM\SMDK6410\FILES
3)修改platform.bib文件(把DLL文件集成到NK中)
在FILES之前加入一行,指明在生成wince 内核映像时自动将SimpleDriver.dll加入到内核映像中。
SimpleDriver.dll $(_FLATRELEASEDIR)\SimpleDriver.dll NK SHK
注:platform.bib文件在D:\WINCE600\PLATFORM\SMDK6410\FILES
4)只编译SimpleDriver即rebuild(前提时在以前已经clean sysgen)
5)
把在D:\WINCE600\OSDesigns\S3C6410_DEMO\S3C6410_DEMO\RelDir\Samsung_SMDK6410_Release 的目录(这个路径可以从编译信息中得到)可以找到所需的全部文件nb0,bin文件。将找到的文件用SD卡一键烧写到开发板上运行。
第三大步;应用程序的编写
这个没什么需要注意的地方,只是要注意是TEXT("GPO1:")即可。
hLed = CreateFile(TEXT("GPO1:"),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
附:驱动源文件和应用程序(呵呵,好像不能上传附件)
作者:桂林电子科技大学student
我是直接从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)SimpleDriver.def中填入:
;******************************************************************************
LIBRARY SimpleDriver
EXPORTS GPO_Init
GPO_Deinit
GPO_Open
GPO_Close
GPO_Read
GPO_Write
GPO_Seek
GPO_PowerDown
GPO_PowerUp
GPO_IOContro
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 the terms of the Microsoft end-user
license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
If you did not accept the terms of the EULA, 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=SimpleDriver
SOURCES= \
SimpleDriver.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=SimpleDriver
SOURCES= \
SimpleDriver.cpp \
4)在.cpp文件中添加相应驱动代码了。即实现如下函数
GPO_Init
GPO_Deinit
GPO_Open
GPO_Close
GPO_Read
GPO_Write
GPO_Seek
GPO_PowerDown
GPO_PowerUp
GPO_IOContro
第二大步;
1)打开dirs(驱动文件夹里)文件,添加:
SimpleDriver\
1)否则会在驱动后面出现添加excluded form build,这个用于在动态加载该驱动是单独编译出”.dll”驱动文件。
2)修改platform.reg文件(注册表选项)作用是当wince启动时,就会自动加载该驱动了
打开该文件,添加如下内容:
;================= LED ==================
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SLED]
"Prefix"="GPO"
"Dll"="SimpleDriver.dll"
"Order"=dword:0
"Index"=dword:1
注:platform.reg文件在D:\WINCE600\PLATFORM\SMDK6410\FILES
3)修改platform.bib文件(把DLL文件集成到NK中)
在FILES之前加入一行,指明在生成wince 内核映像时自动将SimpleDriver.dll加入到内核映像中。
SimpleDriver.dll $(_FLATRELEASEDIR)\SimpleDriver.dll NK SHK
注:platform.bib文件在D:\WINCE600\PLATFORM\SMDK6410\FILES
4)只编译SimpleDriver即rebuild(前提时在以前已经clean sysgen)
5)
把在D:\WINCE600\OSDesigns\S3C6410_DEMO\S3C6410_DEMO\RelDir\Samsung_SMDK6410_Release 的目录(这个路径可以从编译信息中得到)可以找到所需的全部文件nb0,bin文件。将找到的文件用SD卡一键烧写到开发板上运行。
第三大步;应用程序的编写
这个没什么需要注意的地方,只是要注意是TEXT("GPO1:")即可。
hLed = CreateFile(TEXT("GPO1:"),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
附:驱动源文件和应用程序(呵呵,好像不能上传附件)
相关文章推荐
- Window CE 6.0流驱动开发动态加载实验
- 实验驱动开发与响应式编程 ---- File Watcher的技术实现
- LED设备驱动开发实验—源码代码详解
- Window CE 驱动开发流程(Windows CE.5.0系统、pxa270平台)
- 《Android深度探索(卷1):HAL与驱动开发》虚拟实验环境(Ubuntu Linux)及源代码免费下载,不需要CPU虚拟化支持
- AVRWARE++开发笔记5:蜂鸣器驱动实验
- 《Android深度探索(卷1):HAL与驱动开发》虚拟实验环境(Ubuntu Linux)免费下载,不需要CPU虚拟化支持
- Window CE 驱动开发流程(Windows CE.5.0系统、pxa270平台)
- vs格式化快捷键、面向对象封装、类的事件、测试驱动开发
- 【驱动】linux驱动程序开发及环境搭建
- Linux SD卡驱动开发
- WINCE驱动开发-寄存器的使用
- linux serial构架分析及驱动开发(1)
- Windows 驱动开发笔记(七)
- Windows 7驱动开发系列(一)--前言&&WIN7的新特性
- 使用eclipse集成开发环境开发第一个嵌入式Linux驱动
- 20145311王亦徐 实验三 "敏捷开发与XP实践"
- 实现模型驱动开发,增加您的 IT 系统的业务价值
- windows驱动开发---中断级(IRQL)
- Linux驱动开发二:自动获得设备节点在/dev/目录下