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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/436408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fatal error lnk1120: 1 个无法解析的外部命令_3月1日七牛云存储割韭菜的应对方法...

前言早上起来看邮件,看到一封被七牛云割韭菜的公告:内心冰冰凉,不过大家都要吃饭的嘛总不能一直免费下去。所以来研究一下对于我们这种穷人应该如何应对。一、七牛CDN加速流程主要流程分析1、用户通过浏览器访问我的网站(腾讯云服务器)&#…

【转】DCM(DICOM)医学影像文件格式详解

1、 什么是DICOM? DICOM(DigitalImaging andCommunications inMedicine)是指医疗数字影像传输协定,是用于医学影像处理、储存、打印、传输的一组通用的标准协定。它包含了文件格式的定义以及网络通信协议。DICOM是以TCP/IP为基础的应用协定,并…

WINCE下I/O操作基础

对外设进行 I/O 操作实际上也就是读写外设的寄存器,而我们通常使用的X86或者ARM处理器在硬件上决定了wince系统启动后,无法直接访问物理地址,因此需要做一些工作来实现I/O操作. 首先要理解 windows CE 下的地址映射机制。 wince有两种地址:物理地址和虚拟地址&am…

SM4对称加密算法及Java实现

文章来源:https://www.jianshu.com/p/5ec8464b0a1b 一、简介 与DES和AES算法类似,SM4算法是一种分组密码算法。 其分组长度为128bit,密钥长度也为128bit。 加密算法与密钥扩展算法均采用32轮非线性迭代结构,以字(32位…

【转】DICOM网络协议(一)概述

转自:https://www.jianshu.com/p/8a0f0fe6a738 作者:我住的城市没有福合埕 DICOM (Digital Imaging and Communications in Medicine)即医学数字成像和通信,DICOM网络是基于TCP/IP的网络协议。通过DICOM将影像设备和存储管理设备连接起来。…

Windows进程系列(2) -- Svchost进程

在基于NT内核的Windows操作系统家族中,Svchost.exe是一个非常重要的进程。很多病毒、木马驻留系统与这个进程密切相关,因此深入了解该进程是非常有必要的。本文主要介绍Svchost进程的功能,以及与该进程相关的知识。      Svchost进程概述…

mysql数据库字符集设置_查看和设置MySQL数据库字符集

查看和设置MySQL数据库字符集作者:scorpio 2008-01-21 10:05:17 标签: 杂谈 Liunx下修改MySQL字符集:1.查找MySQL的cnf文件的位置find / -iname *.cnf -print /usr/share/mysql/my-innodb-heavy-4G.cnf/usr/share/mysql/my-large.cnf/usr/sha…

MQTT和HTTP的区别

来源:http://blog.sina.com.cn/s/blog_68f485d10102yowx.html HTTP是最流行和最广泛使用的协议。但在过去几年中,MQTT迅速获得了牵引力。当我们谈论物联网开发时,开发人员必须在它们之间做出选择。 设计和消息传递 MQTT以数据为中心&#x…

【转】DICOM入门(一)——语法

转自:https://www.jianshu.com/p/5db8933a25a4 作者:我住的城市没有福合埕 1.什么是DICOM DICOM(Digital Imaging and Communications in Medicine)即医学数字成像和传输协议,是用医疗影像(CT 核磁共振 DR CR 超声等&#xff0…

1000并发 MySQL数据库_再送一波干货,测试2000线程并发下同时查询1000万条数据库表及索引优化...

继上篇文章《绝对干货,教你4分钟插入1000万条数据到mysql数据库表,快快进来》发布后在博客园首页展示得到了挺多的阅读量,我这篇文章就是对上篇文章的千万级数据库表在高并发访问下如何进行测试访问这篇文章的知识点如下:1.如何自写几十行代码…

从高中一次半夜不冲厕所的经历谈程序

我高中的时候,是住校生。寝室到了10点半就会熄灯,早上6点40左右就要起来跑早操。 一天半夜大概两三点,起床放了个大号。想要充厕所的时候发现没有水,很尴尬,也没有其他的办法。半夜还冷的很。就上床睡觉了&#xff0…

Oracle:ORA-28000异常(帐户已被锁定),修改账号登录失败次数

问题描述 最近系统更换了数据库服务器,IP地址也变了,于是就把应用服务器中配置数据库连接的位置做了修改,但是修改后应用起不来了。 经过半天也没发现问题,后来想试试连数据库看看,结果PL/SQL提示“ORA-28000错误”&…

【转】VTK修炼之道1_初识VTK

1.VTK是什么? Visualization ToolKit 3D计算机图形学、图象处理及可视化工具包 VTK使用C、面向对象技术开发;基于OpenGL,封装了OpenGL中的功能,屏蔽细节、便于交互、易于使用提供多种语言接口C++ 、Java 、…

一道解决的非常漂亮的算法题

这是多年以前做的一道题目,原题来自软件报或者电脑报 ,我记不清了。解决这个题目有一个关键的步骤,就是要求一个整数在一个整数三角阵中的坐标。这篇blog就是讨论这个求坐标的问题,不是讨论那个报纸上的题目。现在将题目描述如下&…

HTTPS原理和对中间件攻击的预防

一、https/tls原理 HTTPS访问的三个阶段 第一阶段 认证站点 客户端向站点发起HTTPS请求,站点返回数字证书。客户端通过数字证书验证所访问的站点是真实的目标站点。 第二阶段 协商密钥 客户端与站点服务器协商此次会话的对称加密密钥,用于下一阶段的加…

【转】医学影像技术(中国普通高等学校本科专业)

医学影像技术专业培养适应我国社会主义现代化建设和医疗卫生事业发展需要的,德、智、体全面发展,具有基础医学、临床医学和现代医学影像必备的基本理论知识和基本技能,从事临床影像检查、诊断与治疗技术工作的高级技术应用性专门人才。 中文…

Windows CE下流驱动的动态加载

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

HTTPS原理全面介绍【备查】

来源:https://www.cnblogs.com/haimishasha/p/11373034.html 目录 应用层协议:HTTPS 1. HTTPS定义 2. 密码学基础  3. HTTP通信问题 4. SSL/TLS协议 5. HTTP 向 HTTPS 演化的过程 5.1 对称加密 5.2 非对称加密 5.3 对称加密非对称加密 5.4 安…

【转】VTK修炼之道2_VTK体系结构1

1.OverView综述 The Visualization Toolkit consists of two basic subsystems: a compiled C class library (一个已经编译好的C类库)and an “interpreted” wrapper layer(一个用于解释的语言层) that lets you manipulate the…

WINCE6.0 DM.EXE 激活驱动失败的原因之一

前些天把WINCE6.0的开发环境建好了,今天定制了一个系统,练习了一下驱动的编写和调试。把DLL文件通过VS2005部署到开发板上,用一位大侠写的DM.EXE工具进行激活,但是发现点击激活按钮式无反应,驱动还是停在“停用”状态&…