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与应用程序一起下载到开发板即可运行

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

Window CE 6.0流驱动开发动态加载实验相关推荐

  1. Windows CE下流驱动的动态加载

    Windows CE下流驱动的动态加载 闲话少说,进入正题.查找EVC的帮助,发现函数ActivateDevice()可用来加载驱动程序.而这个函数的使用是相当简单的.我就不多说了,贴上一段帮助最能说 ...

  2. WinCE驱动的动态加载

    //===================================================================== //TITLE: //    WinCE驱动的动态加载 ...

  3. WINCE流驱动的自动加载

    ********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi ...

  4. nginx 稳定版 1.16.0 发布,支持动态加载 SSL 证书

    开发四年只会写业务代码,分布式高并发都不会还做程序员?   nginx 1.16.0 稳定版已发布,包含来自 1.15.x 主线分支的新功能和错误修复: 针对流模块(stream module)中的 ...

  5. JDBC驱动的动态加载

    2019独角兽企业重金招聘Python工程师标准>>> 需求描述:通过导入jdbc的驱动包,配置数据库的JDBC连接参数.来动态连接关系型数据库.要求不用重启JVM进程. 解决思路: ...

  6. win10驱动开发4——加载/卸载驱动

    注意加载卸载驱动必须是win32项目 #include <Windows.h> #include <stdio.h> int main() {//等同于创建驱动======== ...

  7. Android插件化开发之DexClassLoader动态加载dex、jar小Demo

    一.温故动态加载ClassLoader机制 如果对Android的ClassLoader加载机制不熟悉,猛戳Android插件化开发动态加载基础之ClassLoader工作机制 http://blog ...

  8. 动态加载、插件化、热部署、热修复(更新)知识汇总

    开发中经常能听到动态加载,插件化,热部署等词,动态加载到底是何方神物,它能实现什么功能,实现原理又如何?动态加载和插件化.热部署又有着什么样的联系呢?下面我们一起来学习吧. 1. 基本知识 1.1 动 ...

  9. Spring实战之Spring动态加载jar模块和卸载模块

    加载 Spring提供了下面这些类来加载外部jar. classPathResorce可以用来加载类路径上的jar. 一般推荐使用 classLoader = new UrlClassLoader(n ...

最新文章

  1. 怎样实现企业管理系统的操作日志功能
  2. Python导入其他文件中的.py文件 即模块
  3. 类继承(c++细节篇六)
  4. 快速看完整部教材,列出你不懂的 5 - 10 个问题
  5. java idisposable_在C#中实现IDisposable [重复]
  6. 配置Server Side TAF
  7. Android 开机动画的制作
  8. 原生 js 实现弹窗
  9. xp系统远程计算机需要网络打印机驱动,xp系统如何设置网络打印机共享
  10. 深度 | 阿里新供应链体系架构解读
  11. 外国人喜欢问中国人的大问题
  12. 计算机第十三套试题,2012年计算机二级VB第十三套上机试题及解析
  13. PowerPivot——DAX(初识)
  14. 在QQ群和QQ空间中挂马
  15. python+pands+matplotlib分析Excel表格
  16. HbuilderX中的MuMu模拟器调试
  17. java学生选课系统课程设计报告_Java语言程序设计课程设计-学生选课系统
  18. 直接解决OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.OMP:
  19. ACL 2022事件相关(事件抽取、事件关系抽取、事件预测等)论文汇总
  20. c语言中if(a字节4),【鲁班】的意思是什么?【鲁班】是什么意思?

热门文章

  1. jquery 一些特效使用
  2. oracle中xml如何存储过程,oracle存储过程生成xml文件
  3. 用单片机测量流体流速的_影响超声波流量计(热量表)测量精度的主要因素
  4. 【C语言进阶深度学习记录】七 C语言中的循环语句
  5. 两个原子操作组合到一块不一定是能保证原子性
  6. laravel框架的数据库链接
  7. Python入门基础之迭代和列表生成式
  8. cJONS序列化工具解读二(数据解析)
  9. Unity Scene为每一个游戏物体进行扩展编辑
  10. Codeforces Round #143 (Div. 2) C